EcopportunityX - Escape The Wiki
ecopportunityxwiki
https://ecopportunityx.miraheze.org/wiki/Main_Page
MediaWiki 1.40.1
first-letter
Media
Special
Talk
User
User talk
EcopportunityX - Escape The Wiki
EcopportunityX - Escape The Wiki talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Module
Module talk
CommentStreams
CommentStreams Talk
Template:Clear
10
60
163
2022-03-08T14:12:32Z
dev>DarkMatterMan4500
0
Created page with "<div style="clear:{{{1|both}}};"></div><noinclude> {{documentation}} </noinclude>"
wikitext
text/x-wiki
<div style="clear:{{{1|both}}};"></div><noinclude>
{{documentation}}
</noinclude>
38bab3e3d7fbd3d6800d46556e60bc6bac494d72
Template:Tl
10
67
177
2022-09-30T01:09:19Z
dev>Pppery
0
Redirected page to [[Template:Template link]]
wikitext
text/x-wiki
#REDIRECT [[Template:Template link]]
fb9a6b420e13178e581af6e7d64274cd30a79017
Template:Template link
10
65
173
2022-09-30T01:10:00Z
dev>Pppery
0
46 revisions imported from [[:wikipedia:Template:Template_link]]
wikitext
text/x-wiki
{{[[Template:{{{1}}}|{{{1}}}]]}}<noinclude>{{documentation}}
<!-- Categories go on the /doc subpage and interwikis go on Wikidata. -->
</noinclude>
eabbec62efe3044a98ebb3ce9e7d4d43c222351d
Module:Documentation/styles.css
828
72
187
2022-09-30T01:42:23Z
dev>Pppery
0
text
text/plain
.documentation,
.documentation-metadata {
border: 1px solid #a2a9b1;
background-color: #ecfcf4;
clear: both;
}
.documentation {
margin: 1em 0 0 0;
padding: 1em;
}
.documentation-metadata {
margin: 0.2em 0; /* same margin left-right as .documentation */
font-style: italic;
padding: 0.4em 1em; /* same padding left-right as .documentation */
}
.documentation-startbox {
padding-bottom: 3px;
border-bottom: 1px solid #aaa;
margin-bottom: 1ex;
}
.documentation-heading {
font-weight: bold;
font-size: 125%;
}
.documentation-clear { /* Don't want things to stick out where they shouldn't. */
clear: both;
}
.documentation-toolbar {
font-style: normal;
font-size: 85%;
}
37daf53a6ac29b7858ece6841d9f2d2f980a5366
Template:Documentation
10
61
165
2022-09-30T01:43:37Z
dev>MacFan4000
0
4 revisions imported from [[:meta:Template:Documentation]]: this is useful and was on templateiwki
wikitext
text/x-wiki
{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude>[[Category:Templates]]</noinclude>
9885bb4fa99bf3d5b960e73606bbb8eed3026877
Template:Tlx
10
68
179
2022-09-30T02:04:32Z
dev>Pppery
0
Redirected page to [[Template:Template link expanded]]
wikitext
text/x-wiki
#REDIRECT [[Template:Template link expanded]]
155e901040104f96908f1f4627c4eb3501301bf9
Module:Arguments
828
69
181
2022-09-30T02:32:01Z
dev>Pppery
0
24 revisions imported from [[:wikipedia:Module:Arguments]]
Scribunto
text/plain
-- This module provides easy processing of arguments passed to Scribunto from
-- #invoke. It is intended for use by other Lua modules, and should not be
-- called from #invoke directly.
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local arguments = {}
-- Generate four different tidyVal functions, so that we don't have to check the
-- options every time we call it.
local function tidyValDefault(key, val)
if type(val) == 'string' then
val = val:match('^%s*(.-)%s*$')
if val == '' then
return nil
else
return val
end
else
return val
end
end
local function tidyValTrimOnly(key, val)
if type(val) == 'string' then
return val:match('^%s*(.-)%s*$')
else
return val
end
end
local function tidyValRemoveBlanksOnly(key, val)
if type(val) == 'string' then
if val:find('%S') then
return val
else
return nil
end
else
return val
end
end
local function tidyValNoChange(key, val)
return val
end
local function matchesTitle(given, title)
local tp = type( given )
return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title
end
local translate_mt = { __index = function(t, k) return k end }
function arguments.getArgs(frame, options)
checkType('getArgs', 1, frame, 'table', true)
checkType('getArgs', 2, options, 'table', true)
frame = frame or {}
options = options or {}
--[[
-- Set up argument translation.
--]]
options.translate = options.translate or {}
if getmetatable(options.translate) == nil then
setmetatable(options.translate, translate_mt)
end
if options.backtranslate == nil then
options.backtranslate = {}
for k,v in pairs(options.translate) do
options.backtranslate[v] = k
end
end
if options.backtranslate and getmetatable(options.backtranslate) == nil then
setmetatable(options.backtranslate, {
__index = function(t, k)
if options.translate[k] ~= k then
return nil
else
return k
end
end
})
end
--[[
-- Get the argument tables. If we were passed a valid frame object, get the
-- frame arguments (fargs) and the parent frame arguments (pargs), depending
-- on the options set and on the parent frame's availability. If we weren't
-- passed a valid frame object, we are being called from another Lua module
-- or from the debug console, so assume that we were passed a table of args
-- directly, and assign it to a new variable (luaArgs).
--]]
local fargs, pargs, luaArgs
if type(frame.args) == 'table' and type(frame.getParent) == 'function' then
if options.wrappers then
--[[
-- The wrappers option makes Module:Arguments look up arguments in
-- either the frame argument table or the parent argument table, but
-- not both. This means that users can use either the #invoke syntax
-- or a wrapper template without the loss of performance associated
-- with looking arguments up in both the frame and the parent frame.
-- Module:Arguments will look up arguments in the parent frame
-- if it finds the parent frame's title in options.wrapper;
-- otherwise it will look up arguments in the frame object passed
-- to getArgs.
--]]
local parent = frame:getParent()
if not parent then
fargs = frame.args
else
local title = parent:getTitle():gsub('/sandbox$', '')
local found = false
if matchesTitle(options.wrappers, title) then
found = true
elseif type(options.wrappers) == 'table' then
for _,v in pairs(options.wrappers) do
if matchesTitle(v, title) then
found = true
break
end
end
end
-- We test for false specifically here so that nil (the default) acts like true.
if found or options.frameOnly == false then
pargs = parent.args
end
if not found or options.parentOnly == false then
fargs = frame.args
end
end
else
-- options.wrapper isn't set, so check the other options.
if not options.parentOnly then
fargs = frame.args
end
if not options.frameOnly then
local parent = frame:getParent()
pargs = parent and parent.args or nil
end
end
if options.parentFirst then
fargs, pargs = pargs, fargs
end
else
luaArgs = frame
end
-- Set the order of precedence of the argument tables. If the variables are
-- nil, nothing will be added to the table, which is how we avoid clashes
-- between the frame/parent args and the Lua args.
local argTables = {fargs}
argTables[#argTables + 1] = pargs
argTables[#argTables + 1] = luaArgs
--[[
-- Generate the tidyVal function. If it has been specified by the user, we
-- use that; if not, we choose one of four functions depending on the
-- options chosen. This is so that we don't have to call the options table
-- every time the function is called.
--]]
local tidyVal = options.valueFunc
if tidyVal then
if type(tidyVal) ~= 'function' then
error(
"bad value assigned to option 'valueFunc'"
.. '(function expected, got '
.. type(tidyVal)
.. ')',
2
)
end
elseif options.trim ~= false then
if options.removeBlanks ~= false then
tidyVal = tidyValDefault
else
tidyVal = tidyValTrimOnly
end
else
if options.removeBlanks ~= false then
tidyVal = tidyValRemoveBlanksOnly
else
tidyVal = tidyValNoChange
end
end
--[[
-- Set up the args, metaArgs and nilArgs tables. args will be the one
-- accessed from functions, and metaArgs will hold the actual arguments. Nil
-- arguments are memoized in nilArgs, and the metatable connects all of them
-- together.
--]]
local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}
setmetatable(args, metatable)
local function mergeArgs(tables)
--[[
-- Accepts multiple tables as input and merges their keys and values
-- into one table. If a value is already present it is not overwritten;
-- tables listed earlier have precedence. We are also memoizing nil
-- values, which can be overwritten if they are 's' (soft).
--]]
for _, t in ipairs(tables) do
for key, val in pairs(t) do
if metaArgs[key] == nil and nilArgs[key] ~= 'h' then
local tidiedVal = tidyVal(key, val)
if tidiedVal == nil then
nilArgs[key] = 's'
else
metaArgs[key] = tidiedVal
end
end
end
end
end
--[[
-- Define metatable behaviour. Arguments are memoized in the metaArgs table,
-- and are only fetched from the argument tables once. Fetching arguments
-- from the argument tables is the most resource-intensive step in this
-- module, so we try and avoid it where possible. For this reason, nil
-- arguments are also memoized, in the nilArgs table. Also, we keep a record
-- in the metatable of when pairs and ipairs have been called, so we do not
-- run pairs and ipairs on the argument tables more than once. We also do
-- not run ipairs on fargs and pargs if pairs has already been run, as all
-- the arguments will already have been copied over.
--]]
metatable.__index = function (t, key)
--[[
-- Fetches an argument when the args table is indexed. First we check
-- to see if the value is memoized, and if not we try and fetch it from
-- the argument tables. When we check memoization, we need to check
-- metaArgs before nilArgs, as both can be non-nil at the same time.
-- If the argument is not present in metaArgs, we also check whether
-- pairs has been run yet. If pairs has already been run, we return nil.
-- This is because all the arguments will have already been copied into
-- metaArgs by the mergeArgs function, meaning that any other arguments
-- must be nil.
--]]
if type(key) == 'string' then
key = options.translate[key]
end
local val = metaArgs[key]
if val ~= nil then
return val
elseif metatable.donePairs or nilArgs[key] then
return nil
end
for _, argTable in ipairs(argTables) do
local argTableVal = tidyVal(key, argTable[key])
if argTableVal ~= nil then
metaArgs[key] = argTableVal
return argTableVal
end
end
nilArgs[key] = 'h'
return nil
end
metatable.__newindex = function (t, key, val)
-- This function is called when a module tries to add a new value to the
-- args table, or tries to change an existing value.
if type(key) == 'string' then
key = options.translate[key]
end
if options.readOnly then
error(
'could not write to argument table key "'
.. tostring(key)
.. '"; the table is read-only',
2
)
elseif options.noOverwrite and args[key] ~= nil then
error(
'could not write to argument table key "'
.. tostring(key)
.. '"; overwriting existing arguments is not permitted',
2
)
elseif val == nil then
--[[
-- If the argument is to be overwritten with nil, we need to erase
-- the value in metaArgs, so that __index, __pairs and __ipairs do
-- not use a previous existing value, if present; and we also need
-- to memoize the nil in nilArgs, so that the value isn't looked
-- up in the argument tables if it is accessed again.
--]]
metaArgs[key] = nil
nilArgs[key] = 'h'
else
metaArgs[key] = val
end
end
local function translatenext(invariant)
local k, v = next(invariant.t, invariant.k)
invariant.k = k
if k == nil then
return nil
elseif type(k) ~= 'string' or not options.backtranslate then
return k, v
else
local backtranslate = options.backtranslate[k]
if backtranslate == nil then
-- Skip this one. This is a tail call, so this won't cause stack overflow
return translatenext(invariant)
else
return backtranslate, v
end
end
end
metatable.__pairs = function ()
-- Called when pairs is run on the args table.
if not metatable.donePairs then
mergeArgs(argTables)
metatable.donePairs = true
end
return translatenext, { t = metaArgs }
end
local function inext(t, i)
-- This uses our __index metamethod
local v = t[i + 1]
if v ~= nil then
return i + 1, v
end
end
metatable.__ipairs = function (t)
-- Called when ipairs is run on the args table.
return inext, t, 0
end
return args
end
return arguments
3134ecce8429b810d445e29eae115e2ae4c36c53
Module:Documentation
828
70
183
2022-09-30T02:36:08Z
dev>Pppery
0
Pppery moved page [[Module:Documentation/2]] to [[Module:Documentation]] without leaving a redirect
Scribunto
text/plain
-- This module implements {{documentation}}.
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
-- Get the config table.
local cfg = mw.loadData('Module:Documentation/config')
local p = {}
-- Often-used functions.
local ugsub = mw.ustring.gsub
----------------------------------------------------------------------------
-- Helper functions
--
-- These are defined as local functions, but are made available in the p
-- table for testing purposes.
----------------------------------------------------------------------------
local function message(cfgKey, valArray, expectType)
--[[
-- Gets a message from the cfg table and formats it if appropriate.
-- The function raises an error if the value from the cfg table is not
-- of the type expectType. The default type for expectType is 'string'.
-- If the table valArray is present, strings such as $1, $2 etc. in the
-- message are substituted with values from the table keys [1], [2] etc.
-- For example, if the message "foo-message" had the value 'Foo $2 bar $1.',
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz."
--]]
local msg = cfg[cfgKey]
expectType = expectType or 'string'
if type(msg) ~= expectType then
error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2)
end
if not valArray then
return msg
end
local function getMessageVal(match)
match = tonumber(match)
return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4)
end
return ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
end
p.message = message
local function makeWikilink(page, display)
if display then
return mw.ustring.format('[[%s|%s]]', page, display)
else
return mw.ustring.format('[[%s]]', page)
end
end
p.makeWikilink = makeWikilink
local function makeCategoryLink(cat, sort)
local catns = mw.site.namespaces[14].name
return makeWikilink(catns .. ':' .. cat, sort)
end
p.makeCategoryLink = makeCategoryLink
local function makeUrlLink(url, display)
return mw.ustring.format('[%s %s]', url, display)
end
p.makeUrlLink = makeUrlLink
local function makeToolbar(...)
local ret = {}
local lim = select('#', ...)
if lim < 1 then
return nil
end
for i = 1, lim do
ret[#ret + 1] = select(i, ...)
end
-- 'documentation-toolbar'
return '<span class="' .. message('toolbar-class') .. '">('
.. table.concat(ret, ' | ') .. ')</span>'
end
p.makeToolbar = makeToolbar
----------------------------------------------------------------------------
-- Argument processing
----------------------------------------------------------------------------
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame, {
valueFunc = function (key, value)
if type(value) == 'string' then
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if key == 'heading' or value ~= '' then
return value
else
return nil
end
else
return value
end
end
})
return p[funcName](args)
end
end
----------------------------------------------------------------------------
-- Entry points
----------------------------------------------------------------------------
function p.nonexistent(frame)
if mw.title.getCurrentTitle().subpageText == 'testcases' then
return frame:expandTemplate{title = 'module test cases notice'}
else
return p.main(frame)
end
end
p.main = makeInvokeFunc('_main')
function p._main(args)
--[[
-- This function defines logic flow for the module.
-- @args - table of arguments passed by the user
--]]
local env = p.getEnvironment(args)
local root = mw.html.create()
root
:tag('div')
-- 'documentation-container'
:addClass(message('container'))
:attr('role', 'complementary')
:attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil)
:attr('aria-label', args.heading == '' and 'Documentation' or nil)
:newline()
:tag('div')
-- 'documentation'
:addClass(message('main-div-classes'))
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
-- 'documentation-clear'
:addClass(message('clear'))
:done()
:newline()
:done()
:wikitext(p._endBox(args, env))
:done()
:wikitext(p.addTrackingCategories(env))
-- 'Module:Documentation/styles.css'
return mw.getCurrentFrame():extensionTag (
'templatestyles', '', {src=cfg['templatestyles']
}) .. tostring(root)
end
----------------------------------------------------------------------------
-- Environment settings
----------------------------------------------------------------------------
function p.getEnvironment(args)
--[[
-- Returns a table with information about the environment, including title
-- objects and other namespace- or path-related data.
-- @args - table of arguments passed by the user
--
-- Title objects include:
-- env.title - the page we are making documentation for (usually the current title)
-- env.templateTitle - the template (or module, file, etc.)
-- env.docTitle - the /doc subpage.
-- env.sandboxTitle - the /sandbox subpage.
-- env.testcasesTitle - the /testcases subpage.
--
-- Data includes:
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.
-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.
--
-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value
-- returned will be nil.
--]]
local env, envFuncs = {}, {}
-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value
-- returned by that function is memoized in the env table so that we don't call any of the functions
-- more than once. (Nils won't be memoized.)
setmetatable(env, {
__index = function (t, key)
local envFunc = envFuncs[key]
if envFunc then
local success, val = pcall(envFunc)
if success then
env[key] = val -- Memoise the value.
return val
end
end
return nil
end
})
function envFuncs.title()
-- The title object for the current page, or a test page passed with args.page.
local title
local titleArg = args.page
if titleArg then
title = mw.title.new(titleArg)
else
title = mw.title.getCurrentTitle()
end
return title
end
function envFuncs.templateTitle()
--[[
-- The template (or module, etc.) title object.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
-- 'testcases-subpage' --> 'testcases'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local subpage = title.subpageText
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then
return mw.title.makeTitle(subjectSpace, title.baseText)
else
return mw.title.makeTitle(subjectSpace, title.text)
end
end
function envFuncs.docTitle()
--[[
-- Title object of the /doc subpage.
-- Messages:
-- 'doc-subpage' --> 'doc'
--]]
local title = env.title
local docname = args[1] -- User-specified doc page.
local docpage
if docname then
docpage = docname
else
docpage = env.docpageBase .. '/' .. message('doc-subpage')
end
return mw.title.new(docpage)
end
function envFuncs.sandboxTitle()
--[[
-- Title object for the /sandbox subpage.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage'))
end
function envFuncs.testcasesTitle()
--[[
-- Title object for the /testcases subpage.
-- Messages:
-- 'testcases-subpage' --> 'testcases'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
end
function envFuncs.subjectSpace()
-- The subject namespace number.
return mw.site.namespaces[env.title.namespace].subject.id
end
function envFuncs.docSpace()
-- The documentation namespace number. For most namespaces this is the
-- same as the subject namespace. However, pages in the Article, File,
-- MediaWiki or Category namespaces must have their /doc, /sandbox and
-- /testcases pages in talk space.
local subjectSpace = env.subjectSpace
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
return subjectSpace + 1
else
return subjectSpace
end
end
function envFuncs.docpageBase()
-- The base page of the /doc, /sandbox, and /testcases subpages.
-- For some namespaces this is the talk page, rather than the template page.
local templateTitle = env.templateTitle
local docSpace = env.docSpace
local docSpaceText = mw.site.namespaces[docSpace].name
-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.
return docSpaceText .. ':' .. templateTitle.text
end
function envFuncs.compareUrl()
-- Diff link between the sandbox and the main template using [[Special:ComparePages]].
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
if templateTitle.exists and sandboxTitle.exists then
local compareUrl = mw.uri.fullUrl(
'Special:ComparePages',
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
)
return tostring(compareUrl)
else
return nil
end
end
return env
end
----------------------------------------------------------------------------
-- Start box
----------------------------------------------------------------------------
p.startBox = makeInvokeFunc('_startBox')
function p._startBox(args, env)
--[[
-- This function generates the start box.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make
-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox
-- which generate the box HTML.
--]]
env = env or p.getEnvironment(args)
local links
local content = args.content
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
if linksData then
links = p.renderStartBoxLinks(linksData)
end
end
-- Generate the start box html.
local data = p.makeStartBoxData(args, env, links)
if data then
return p.renderStartBox(data)
else
-- User specified no heading.
return nil
end
end
function p.makeStartBoxLinksData(args, env)
--[[
-- Does initial processing of data to make the [view] [edit] [history] [purge] links.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'view-link-display' --> 'view'
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'purge-link-display' --> 'purge'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'docpage-preload' --> 'Template:Documentation/preload'
-- 'create-link-display' --> 'create'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local docTitle = env.docTitle
if not title or not docTitle then
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
local data = {}
data.title = title
data.docTitle = docTitle
-- View, display, edit, and purge links if /doc exists.
data.viewLinkDisplay = message('view-link-display')
data.editLinkDisplay = message('edit-link-display')
data.historyLinkDisplay = message('history-link-display')
data.purgeLinkDisplay = message('purge-link-display')
-- Create link if /doc doesn't exist.
local preload = args.preload
if not preload then
if subjectSpace == 828 then -- Module namespace
preload = message('module-preload')
else
preload = message('docpage-preload')
end
end
data.preload = preload
data.createLinkDisplay = message('create-link-display')
return data
end
function p.renderStartBoxLinks(data)
--[[
-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.
-- @data - a table of data generated by p.makeStartBoxLinksData
--]]
local function escapeBrackets(s)
-- Escapes square brackets with HTML entities.
s = s:gsub('%[', '[') -- Replace square brackets with HTML entities.
s = s:gsub('%]', ']')
return s
end
local ret
local docTitle = data.docTitle
local title = data.title
local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay)
if docTitle.exists then
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay)
local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay)
ret = '[%s] [%s] [%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink)
else
local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
ret = '[%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, createLink, purgeLink)
end
return ret
end
function p.makeStartBoxData(args, env, links)
--[=[
-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error.
--
-- Messages:
-- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- 'template-namespace-heading' --> 'Template documentation'
-- 'module-namespace-heading' --> 'Module documentation'
-- 'file-namespace-heading' --> 'Summary'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'testcases-create-link-display' --> 'create'
--]=]
local subjectSpace = env.subjectSpace
if not subjectSpace then
-- Default to an "other namespaces" namespace, so that we get at least some output
-- if an error occurs.
subjectSpace = 2
end
local data = {}
-- Heading
local heading = args.heading -- Blank values are not removed.
if heading == '' then
-- Don't display the start box if the heading arg is defined but blank.
return nil
end
if heading then
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading')
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading')
elseif subjectSpace == 6 then -- File namespace
data.heading = message('file-namespace-heading')
else
data.heading = message('other-namespaces-heading')
end
-- Heading CSS
local headingStyle = args['heading-style']
if headingStyle then
data.headingStyleText = headingStyle
else
-- 'documentation-heading'
data.headingClass = message('main-div-heading-class')
end
-- Data for the [view][edit][history][purge] or [create] links.
if links then
-- 'mw-editsection-like plainlinks'
data.linksClass = message('start-box-link-classes')
data.links = links
end
return data
end
function p.renderStartBox(data)
-- Renders the start box html.
-- @data - a table of data generated by p.makeStartBoxData.
local sbox = mw.html.create('div')
sbox
-- 'documentation-startbox'
:addClass(message('start-box-class'))
:newline()
:tag('span')
:addClass(data.headingClass)
:attr('id', 'documentation-heading')
:cssText(data.headingStyleText)
:wikitext(data.heading)
local links = data.links
if links then
sbox:tag('span')
:addClass(data.linksClass)
:attr('id', data.linksId)
:wikitext(links)
end
return tostring(sbox)
end
----------------------------------------------------------------------------
-- Documentation content
----------------------------------------------------------------------------
p.content = makeInvokeFunc('_content')
function p._content(args, env)
-- Displays the documentation contents
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
local content = args.content
if not content and docTitle and docTitle.exists then
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
-- of docs are interpreted correctly.
return '\n' .. (content or '') .. '\n'
end
p.contentTitle = makeInvokeFunc('_contentTitle')
function p._contentTitle(args, env)
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
if not args.content and docTitle and docTitle.exists then
return docTitle.prefixedText
else
return ''
end
end
----------------------------------------------------------------------------
-- End box
----------------------------------------------------------------------------
p.endBox = makeInvokeFunc('_endBox')
function p._endBox(args, env)
--[=[
-- This function generates the end box (also known as the link box).
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
--]=]
-- Get environment data.
env = env or p.getEnvironment(args)
local subjectSpace = env.subjectSpace
local docTitle = env.docTitle
if not subjectSpace or not docTitle then
return nil
end
-- Check whether we should output the end box at all. Add the end
-- box by default if the documentation exists or if we are in the
-- user, module or template namespaces.
local linkBox = args['link box']
if linkBox == 'off'
or not (
docTitle.exists
or subjectSpace == 2
or subjectSpace == 828
or subjectSpace == 10
)
then
return nil
end
-- Assemble the link box.
local text = ''
if linkBox then
text = text .. linkBox
else
text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]."
if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then
-- We are in the user, template or module namespaces.
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />'
if not args.content and not args[1] then
-- "Please add categories to the /doc subpage."
-- Don't show this message with inline docs or with an explicitly specified doc page,
-- as then it is unclear where to add the categories.
text = text .. (p.makeCategoriesBlurb(args, env) or '')
end
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
end
end
local box = mw.html.create('div')
-- 'documentation-metadata'
box:attr('role', 'note')
:addClass(message('end-box-class'))
-- 'plainlinks'
:addClass(message('end-box-plainlinks'))
:wikitext(text)
:done()
return '\n' .. tostring(box)
end
function p.makeDocPageBlurb(args, env)
--[=[
-- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)".
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'transcluded-from-blurb' -->
-- 'The above [[Wikipedia:Template documentation|documentation]]
-- is [[Help:Transclusion|transcluded]] from $1.'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'create-link-display' --> 'create'
-- 'create-module-doc-blurb' -->
-- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].'
--]=]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local ret
if docTitle.exists then
-- /doc exists; link to it.
local docLink = makeWikilink(docTitle.prefixedText)
local editUrl = docTitle:fullUrl{action = 'edit'}
local editDisplay = message('edit-link-display')
local editLink = makeUrlLink(editUrl, editDisplay)
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyDisplay = message('history-link-display')
local historyLink = makeUrlLink(historyUrl, historyDisplay)
ret = message('transcluded-from-blurb', {docLink})
.. ' '
.. makeToolbar(editLink, historyLink)
.. '<br />'
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
ret = message('create-module-doc-blurb', {createLink})
.. '<br />'
end
return ret
end
function p.makeExperimentBlurb(args, env)
--[[
-- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-link-display' --> 'sandbox'
-- 'sandbox-edit-link-display' --> 'edit'
-- 'compare-link-display' --> 'diff'
-- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'sandbox-create-link-display' --> 'create'
-- 'mirror-edit-summary' --> 'Create sandbox version of $1'
-- 'mirror-link-display' --> 'mirror'
-- 'mirror-link-preload' --> 'Template:Documentation/mirror'
-- 'sandbox-link-display' --> 'sandbox'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display'--> 'edit'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'testcases-create-link-display' --> 'create'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display' --> 'edit'
-- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases'
-- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases'
-- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.'
-- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
local testcasesTitle = env.testcasesTitle
local templatePage = templateTitle.prefixedText
if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then
return nil
end
-- Make links.
local sandboxLinks, testcasesLinks
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareLink
if compareUrl then
local compareDisplay = message('compare-link-display')
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink)
else
local sandboxPreload
if subjectSpace == 828 then
sandboxPreload = message('module-sandbox-preload')
else
sandboxPreload = message('template-sandbox-preload')
end
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload')
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
if subjectSpace == 828 then
mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
end
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
end
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
-- for Modules, add testcases run link if exists
if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink)
else
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
end
else
local testcasesPreload
if subjectSpace == 828 then
testcasesPreload = message('module-testcases-preload')
else
testcasesPreload = message('template-testcases-preload')
end
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink)
end
local messageName
if subjectSpace == 828 then
messageName = 'experiment-blurb-module'
else
messageName = 'experiment-blurb-template'
end
return message(messageName, {sandboxLinks, testcasesLinks})
end
function p.makeCategoriesBlurb(args, env)
--[[
-- Generates the text "Please add categories to the /doc subpage."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'doc-link-display' --> '/doc'
-- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.'
--]]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display'))
return message('add-categories-blurb', {docPathLink})
end
function p.makeSubpagesBlurb(args, env)
--[[
-- Generates the "Subpages of this template" link.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'template-pagetype' --> 'template'
-- 'module-pagetype' --> 'module'
-- 'default-pagetype' --> 'page'
-- 'subpages-link-display' --> 'Subpages of this $1'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
if not subjectSpace or not templateTitle then
return nil
end
local pagetype
if subjectSpace == 10 then
pagetype = message('template-pagetype')
elseif subjectSpace == 828 then
pagetype = message('module-pagetype')
else
pagetype = message('default-pagetype')
end
local subpagesLink = makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpages-link-display', {pagetype})
)
return message('subpages-blurb', {subpagesLink})
end
----------------------------------------------------------------------------
-- Tracking categories
----------------------------------------------------------------------------
function p.addTrackingCategories(env)
--[[
-- Check if {{documentation}} is transcluded on a /doc or /testcases page.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'display-strange-usage-category' --> true
-- 'doc-subpage' --> 'doc'
-- 'testcases-subpage' --> 'testcases'
-- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage'
--
-- /testcases pages in the module namespace are not categorised, as they may have
-- {{documentation}} transcluded automatically.
--]]
local title = env.title
local subjectSpace = env.subjectSpace
if not title or not subjectSpace then
return nil
end
local subpage = title.subpageText
local ret = ''
if message('display-strange-usage-category', nil, 'boolean')
and (
subpage == message('doc-subpage')
or subjectSpace ~= 828 and subpage == message('testcases-subpage')
)
then
ret = ret .. makeCategoryLink(message('strange-usage-category'))
end
return ret
end
return p
78cc3a78f2b5dbb267fa16027c0800a22dbd3c42
Template:Template link expanded
10
66
175
2022-09-30T18:48:13Z
dev>Pppery
0
wikitext
text/x-wiki
<code><nowiki>{{</nowiki>{{#if:{{{subst|}}} |[[Help:Substitution|subst]]:}}<!--
-->[[{{{sister|{{{SISTER|}}}}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!--
-->{{#if:{{{2|}}} ||{{{2}}}}}<!--
-->{{#if:{{{3|}}} ||{{{3}}}}}<!--
-->{{#if:{{{4|}}} ||{{{4}}}}}<!--
-->{{#if:{{{5|}}} ||{{{5}}}}}<!--
-->{{#if:{{{6|}}} ||{{{6}}}}}<!--
-->{{#if:{{{7|}}} ||{{{7}}}}}<!--
-->{{#if:{{{8|}}} ||{{{8}}}}}<!--
-->{{#if:{{{9|}}} ||{{{9}}}}}<!--
-->{{#if:{{{10|}}} ||{{{10}}}}}<!--
-->{{#if:{{{11|}}} ||{{{11}}}}}<!--
-->{{#if:{{{12|}}} ||{{{12}}}}}<!--
-->{{#if:{{{13|}}} ||{{{13}}}}}<!--
-->{{#if:{{{14|}}} ||{{{14}}}}}<!--
-->{{#if:{{{15|}}} ||{{{15}}}}}<!--
-->{{#if:{{{16|}}} ||{{{16}}}}}<!--
-->{{#if:{{{17|}}} ||{{{17}}}}}<!--
-->{{#if:{{{18|}}} ||{{{18}}}}}<!--
-->{{#if:{{{19|}}} ||{{{19}}}}}<!--
-->{{#if:{{{20|}}} ||{{{20}}}}}<!--
-->{{#if:{{{21|}}} ||''...''}}<!--
--><nowiki>}}</nowiki></code><noinclude>
{{Documentation}}
</noinclude>
9f670205d4b358df089b1a820f78f02a88afca3a
Module:Yesno
828
76
195
2022-10-01T17:25:37Z
dev>Pppery
0
Pppery moved page [[Module:Yesno/2]] to [[Module:Yesno]] without leaving a redirect
Scribunto
text/plain
-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.
return function (val, default)
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
-- following line.
val = type(val) == 'string' and val:lower() or val
if val == nil then
return nil
elseif val == true
or val == 'yes'
or val == 'y'
or val == 'true'
or val == 't'
or val == 'on'
or tonumber(val) == 1
then
return true
elseif val == false
or val == 'no'
or val == 'n'
or val == 'false'
or val == 'f'
or val == 'off'
or tonumber(val) == 0
then
return false
else
return default
end
end
f767643e7d12126d020d88d662a3dd057817b9dc
Module:No globals
828
75
193
2022-10-01T17:28:48Z
dev>Pppery
0
Pppery moved page [[Module:No globals/2]] to [[Module:No globals]] without leaving a redirect
Scribunto
text/plain
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' then
error('Tried to read nil global ' .. tostring(k), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' then
error('Tried to write global ' .. tostring(k), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)
8ce3969f7d53b08bd00dabe4cc9780bc6afd412a
Module:Documentation/config
828
71
185
2022-10-01T17:37:53Z
dev>Pppery
0
Pppery moved page [[Module:Documentation/config/2]] to [[Module:Documentation/config]] without leaving a redirect
Scribunto
text/plain
----------------------------------------------------------------------------------------------------
--
-- Configuration for Module:Documentation
--
-- Here you can set the values of the parameters and messages used in Module:Documentation to
-- localise it to your wiki and your language. Unless specified otherwise, values given here
-- should be string values.
----------------------------------------------------------------------------------------------------
local cfg = {} -- Do not edit this line.
----------------------------------------------------------------------------------------------------
-- Start box configuration
----------------------------------------------------------------------------------------------------
-- cfg['documentation-icon-wikitext']
-- The wikitext for the icon shown at the top of the template.
cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- cfg['template-namespace-heading']
-- The heading shown in the template namespace.
cfg['template-namespace-heading'] = 'Template documentation'
-- cfg['module-namespace-heading']
-- The heading shown in the module namespace.
cfg['module-namespace-heading'] = 'Module documentation'
-- cfg['file-namespace-heading']
-- The heading shown in the file namespace.
cfg['file-namespace-heading'] = 'Summary'
-- cfg['other-namespaces-heading']
-- The heading shown in other namespaces.
cfg['other-namespaces-heading'] = 'Documentation'
-- cfg['view-link-display']
-- The text to display for "view" links.
cfg['view-link-display'] = 'view'
-- cfg['edit-link-display']
-- The text to display for "edit" links.
cfg['edit-link-display'] = 'edit'
-- cfg['history-link-display']
-- The text to display for "history" links.
cfg['history-link-display'] = 'history'
-- cfg['purge-link-display']
-- The text to display for "purge" links.
cfg['purge-link-display'] = 'purge'
-- cfg['create-link-display']
-- The text to display for "create" links.
cfg['create-link-display'] = 'create'
----------------------------------------------------------------------------------------------------
-- Link box (end box) configuration
----------------------------------------------------------------------------------------------------
-- cfg['transcluded-from-blurb']
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.
cfg['transcluded-from-blurb'] = 'The above [[w:Wikipedia:Template documentation|documentation]] is [[mw:Help:Transclusion|transcluded]] from $1.'
--[[
-- cfg['create-module-doc-blurb']
-- Notice displayed in the module namespace when the documentation subpage does not exist.
-- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the
-- display cfg['create-link-display'].
--]]
cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[mw:Extension:Scribunto/Lua reference manual|Scribunto module]].'
----------------------------------------------------------------------------------------------------
-- Experiment blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['experiment-blurb-template']
-- cfg['experiment-blurb-module']
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.
-- It is only shown in the template and module namespaces. With the default English settings, it
-- might look like this:
--
-- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages.
--
-- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links.
--
-- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending
-- on what namespace we are in.
--
-- Parameters:
--
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display'])
--
-- If the sandbox doesn't exist, it is in the format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display'])
--
-- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload']
-- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display']
-- loads a default edit summary of cfg['mirror-edit-summary'].
--
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:
--
-- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display'])
--
-- If the test cases page doesn't exist, it is in the format:
--
-- cfg['testcases-link-display'] (cfg['testcases-create-link-display'])
--
-- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the
-- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current
-- namespace.
--]]
cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages."
cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages."
----------------------------------------------------------------------------------------------------
-- Sandbox link configuration
----------------------------------------------------------------------------------------------------
-- cfg['sandbox-subpage']
-- The name of the template subpage typically used for sandboxes.
cfg['sandbox-subpage'] = 'sandbox'
-- cfg['template-sandbox-preload']
-- Preload file for template sandbox pages.
cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox'
-- cfg['module-sandbox-preload']
-- Preload file for Lua module sandbox pages.
cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox'
-- cfg['sandbox-link-display']
-- The text to display for "sandbox" links.
cfg['sandbox-link-display'] = 'sandbox'
-- cfg['sandbox-edit-link-display']
-- The text to display for sandbox "edit" links.
cfg['sandbox-edit-link-display'] = 'edit'
-- cfg['sandbox-create-link-display']
-- The text to display for sandbox "create" links.
cfg['sandbox-create-link-display'] = 'create'
-- cfg['compare-link-display']
-- The text to display for "compare" links.
cfg['compare-link-display'] = 'diff'
-- cfg['mirror-edit-summary']
-- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the
-- template page.
cfg['mirror-edit-summary'] = 'Create sandbox version of $1'
-- cfg['mirror-link-display']
-- The text to display for "mirror" links.
cfg['mirror-link-display'] = 'mirror'
-- cfg['mirror-link-preload']
-- The page to preload when a user clicks the "mirror" link.
cfg['mirror-link-preload'] = 'Template:Documentation/mirror'
----------------------------------------------------------------------------------------------------
-- Test cases link configuration
----------------------------------------------------------------------------------------------------
-- cfg['testcases-subpage']
-- The name of the template subpage typically used for test cases.
cfg['testcases-subpage'] = 'testcases'
-- cfg['template-testcases-preload']
-- Preload file for template test cases pages.
cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases'
-- cfg['module-testcases-preload']
-- Preload file for Lua module test cases pages.
cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases'
-- cfg['testcases-link-display']
-- The text to display for "testcases" links.
cfg['testcases-link-display'] = 'testcases'
-- cfg['testcases-edit-link-display']
-- The text to display for test cases "edit" links.
cfg['testcases-edit-link-display'] = 'edit'
-- cfg['testcases-run-link-display']
-- The text to display for test cases "run" links.
cfg['testcases-run-link-display'] = 'run'
-- cfg['testcases-create-link-display']
-- The text to display for test cases "create" links.
cfg['testcases-create-link-display'] = 'create'
----------------------------------------------------------------------------------------------------
-- Add categories blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['add-categories-blurb']
-- Text to direct users to add categories to the /doc subpage. Not used if the "content" or
-- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a
-- link to the /doc subpage with a display value of cfg['doc-link-display'].
--]]
cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.'
-- cfg['doc-link-display']
-- The text to display when linking to the /doc subpage.
cfg['doc-link-display'] = '/doc'
----------------------------------------------------------------------------------------------------
-- Subpages link configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['subpages-blurb']
-- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a
-- display value of cfg['subpages-link-display']. In the English version this blurb is simply
-- the link followed by a period, and the link display provides the actual text.
--]]
cfg['subpages-blurb'] = '$1.'
--[[
-- cfg['subpages-link-display']
-- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'],
-- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in
-- the template namespace, the module namespace, or another namespace.
--]]
cfg['subpages-link-display'] = 'Subpages of this $1'
-- cfg['template-pagetype']
-- The pagetype to display for template pages.
cfg['template-pagetype'] = 'template'
-- cfg['module-pagetype']
-- The pagetype to display for Lua module pages.
cfg['module-pagetype'] = 'module'
-- cfg['default-pagetype']
-- The pagetype to display for pages other than templates or Lua modules.
cfg['default-pagetype'] = 'page'
----------------------------------------------------------------------------------------------------
-- Doc link configuration
----------------------------------------------------------------------------------------------------
-- cfg['doc-subpage']
-- The name of the subpage typically used for documentation pages.
cfg['doc-subpage'] = 'doc'
-- cfg['docpage-preload']
-- Preload file for template documentation pages in all namespaces.
cfg['docpage-preload'] = 'Template:Documentation/preload'
-- cfg['module-preload']
-- Preload file for Lua module documentation pages.
cfg['module-preload'] = 'Template:Documentation/preload-module-doc'
----------------------------------------------------------------------------------------------------
-- HTML and CSS configuration
----------------------------------------------------------------------------------------------------
-- cfg['templatestyles']
-- The name of the TemplateStyles page where CSS is kept.
-- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed.
cfg['templatestyles'] = 'Module:Documentation/styles.css'
-- cfg['container']
-- Class which can be used to set flex or grid CSS on the
-- two child divs documentation and documentation-metadata
cfg['container'] = 'documentation-container'
-- cfg['main-div-classes']
-- Classes added to the main HTML "div" tag.
cfg['main-div-classes'] = 'documentation'
-- cfg['main-div-heading-class']
-- Class for the main heading for templates and modules and assoc. talk spaces
cfg['main-div-heading-class'] = 'documentation-heading'
-- cfg['start-box-class']
-- Class for the start box
cfg['start-box-class'] = 'documentation-startbox'
-- cfg['start-box-link-classes']
-- Classes used for the [view][edit][history] or [create] links in the start box.
-- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]]
cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks'
-- cfg['end-box-class']
-- Class for the end box.
cfg['end-box-class'] = 'documentation-metadata'
-- cfg['end-box-plainlinks']
-- Plainlinks
cfg['end-box-plainlinks'] = 'plainlinks'
-- cfg['toolbar-class']
-- Class added for toolbar links.
cfg['toolbar-class'] = 'documentation-toolbar'
-- cfg['clear']
-- Just used to clear things.
cfg['clear'] = 'documentation-clear'
----------------------------------------------------------------------------------------------------
-- Tracking category configuration
----------------------------------------------------------------------------------------------------
-- cfg['display-strange-usage-category']
-- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage
-- or a /testcases subpage. This should be a boolean value (either true or false).
cfg['display-strange-usage-category'] = true
-- cfg['strange-usage-category']
-- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a
-- /doc subpage or a /testcases subpage.
cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage'
--[[
----------------------------------------------------------------------------------------------------
-- End configuration
--
-- Don't edit anything below this line.
----------------------------------------------------------------------------------------------------
--]]
return cfg
d70e8b1402a2bbe08a1fef4b75d743e661af0c95
Template:Documentation subpage
10
62
167
2022-10-01T17:51:17Z
dev>Pppery
0
wikitext
text/x-wiki
<includeonly><!--
-->{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}}
| <!--(this template has been transcluded on a /doc or /{{{override}}} page)-->
</includeonly><!--
-->{{#ifeq:{{{doc-notice|show}}} |show
| {{Mbox
| type = notice
| style = margin-bottom:1.0em;
| image = [[File:Edit-copy green.svg|40px|alt=|link=]]
| text =
'''This is a documentation subpage''' for '''{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br/> It contains usage information, [[mw:Help:Categories|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} | page}}}}.
}}
}}<!--
-->{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}<!--
-->{{#if:{{{inhibit|}}} |<!--(don't categorize)-->
| <includeonly><!--
-->{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}
| [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
| [[Category:Documentation subpages without corresponding pages]]
}}<!--
--></includeonly>
}}<!--
(completing initial #ifeq: at start of template:)
--><includeonly>
| <!--(this template has not been transcluded on a /doc or /{{{override}}} page)-->
}}<!--
--></includeonly><noinclude>{{Documentation}}</noinclude>
471e685c1c643a5c6272e20e49824fffebad0448
Template:Hatnote
10
80
205
2022-10-05T21:18:12Z
dev>Pppery
0
Category
wikitext
text/x-wiki
<div style="margin-left:2em; margin-right: 2em;>''{{{1}}}''</div>
<!-- The wikipedia templates uses :, which generated dd and dt tags. That is not ideal for accessibility. --><noinclude>
This is a general purpose template for all kind of [https://en.wikipedia.org/wiki/Wikipedia:Hatnote hatnotes]. '''Hatnotes''' are a small annotation above a page or a section that can help the reader navigate. It's used for example to clarify what a section is about and link to other pages the reader may want to read.
== Example usage ==
<pre><nowiki>
=== Heading ===
{{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}}
The first sentence of the section is here.
</nowiki></pre>
=== Heading ===
{{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}}
The first sentence of the section is here.
<templatedata>
{
"params": {
"1": {
"label": "content",
"description": "the content of the note",
"example": "For the xxx see [[yyy]]."
}
},
"description": "Adds a annotation for the reader about the content that follows. Usually used after a heading."
}
</templatedata>
[[Category:Templates]]
</noinclude>
5e58f83d6fa53ed06f85139184aff1d651804efe
Template:MessageBox
10
59
161
2022-10-05T21:20:15Z
dev>Pppery
0
Categorize
wikitext
text/x-wiki
<div style="width: {{#if:{{{width|}}}|{{{width}}}|80%}}; background-color: {{#if:{{{Background color}}}|{{{Background color}}}|#f5f5f5}}; border-top: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-bottom: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-right: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-left: 12px solid {{#if:{{{Flag color}}}|{{{Flag color}}}|#aaaaaa}}; margin: 0.5em auto 0.5em;">
{|
{{#if:{{{Image}}}|{{!}}style="width:93px; text-align:center; vertical-align:middle; padding-top:1px;padding-bottom:7px" {{!}} {{{Image}}} }}
|style="vertical-align:middle;padding-left:3px;padding-top:10px;padding-bottom:10px;padding-right:10px; background-color: {{#if:{{{Background color}}}{{!}}{{{Background color}}}{{!}}#f5f5f5}};" | {{{Message text}}}
|}
</div><noinclude>[[Category:Notice templates]]</noinclude>
c6727bf6179a36a5413ed93f232fd0e2f7180256
Template:Template list
10
78
199
2022-10-05T21:23:50Z
dev>Pppery
0
wikitext
text/x-wiki
== Resolution templates ==
: ''Category: [[:Category:Resolution templates|Resolution templates]]''
<section begin=resolution-templates/>
* {{tl|done}} - {{done}}
* {{tl|not done}} - {{not done}}
* {{tl|doing}} - {{doing}}
* {{tl|comment}} - {{comment}}
<section end=resolution-templates/>
== Voting templates ==
: ''Category: [[:Category:Voting templates|Voting templates]]''
<section begin=voting-templates/>
* {{tl|support}} - {{support}}
* {{tl|oppose}} - {{oppose}}
* {{tl|abstain}} - {{abstain}}
* {{tl|neutral}} - {{neutral}}
<section end=voting-templates/>
=== Social media userboxes ===
: ''Category: [[:Category:Social media userboxes|Social media userboxes]]''
<section begin=social-media-userboxes/>
{| class="wikitable"
|-
<noinclude>! Template !! Result
|-</noinclude>
| {{tl|User discord}} || {{User discord|nocat=yes}}
|-
| {{tl|User github}} || {{User github|nocat=yes}}
|-
| {{tl|User instagram}} || {{User instagram|nocat=yes}}
|-
| {{tl|User IRC}} || {{User IRC|nocat=yes}}
|-
| {{tl|User twitter}} || {{User twitter|nocat=yes}}
|-
| {{tl|User wikimedia}} || {{User wikimedia|nocat=yes}}
|-
| {{tl|User youtube}} || {{User youtube|nocat=yes}}
|}
<section end=social-media-userboxes/>
[[Category:Templates| ]]
01b67cea315305492f35a33e0a2943a6f7b44773
Module:Message box
828
73
189
2022-10-21T19:39:49Z
dev>Pppery
0
These can just go, the first for being very Wikipedia-specific, and the second for being almost impossible to import properly
Scribunto
text/plain
-- This is a meta-module for producing message box templates, including
-- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}.
-- Load necessary modules.
require('Module:No globals')
local getArgs
local yesno = require('Module:Yesno')
local templatestyles = 'Module:Message box/styles.css'
-- Get a language object for formatDate and ucfirst.
local lang = mw.language.getContentLanguage()
-- Define constants
local CONFIG_MODULE = 'Module:Message box/configuration'
local DEMOSPACES = {user = 'tmbox', talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'}
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
local function getTitleObject(...)
-- Get the title object, passing the function through pcall
-- in case we are over the expensive function count limit.
local success, title = pcall(mw.title.new, ...)
if success then
return title
end
end
local function union(t1, t2)
-- Returns the union of two arrays.
local vals = {}
for i, v in ipairs(t1) do
vals[v] = true
end
for i, v in ipairs(t2) do
vals[v] = true
end
local ret = {}
for k in pairs(vals) do
table.insert(ret, k)
end
table.sort(ret)
return ret
end
local function getArgNums(args, prefix)
local nums = {}
for k, v in pairs(args) do
local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$')
if num then
table.insert(nums, tonumber(num))
end
end
table.sort(nums)
return nums
end
--------------------------------------------------------------------------------
-- Box class definition
--------------------------------------------------------------------------------
local MessageBox = {}
MessageBox.__index = MessageBox
function MessageBox.new(boxType, args, cfg)
args = args or {}
local obj = {}
-- Set the title object and the namespace.
obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()
-- Set the config for our box type.
obj.cfg = cfg[boxType]
if not obj.cfg then
local ns = obj.title.namespace
-- boxType is "mbox" or invalid input
if args.demospace and args.demospace ~= '' then
-- implement demospace parameter of mbox
local demospace = string.lower(args.demospace)
if DEMOSPACES[demospace] then
-- use template from DEMOSPACES
obj.cfg = cfg[DEMOSPACES[demospace]]
elseif string.find( demospace, 'talk' ) then
-- demo as a talk page
obj.cfg = cfg.tmbox
else
-- default to ombox
obj.cfg = cfg.ombox
end
elseif ns == 0 then
obj.cfg = cfg.ambox -- main namespace
elseif ns == 6 then
obj.cfg = cfg.imbox -- file namespace
elseif ns == 14 then
obj.cfg = cfg.cmbox -- category namespace
else
local nsTable = mw.site.namespaces[ns]
if nsTable and nsTable.isTalk then
obj.cfg = cfg.tmbox -- any talk namespace
else
obj.cfg = cfg.ombox -- other namespaces or invalid input
end
end
end
-- Set the arguments, and remove all blank arguments except for the ones
-- listed in cfg.allowBlankParams.
do
local newArgs = {}
for k, v in pairs(args) do
if v ~= '' then
newArgs[k] = v
end
end
for i, param in ipairs(obj.cfg.allowBlankParams or {}) do
newArgs[param] = args[param]
end
obj.args = newArgs
end
-- Define internal data structure.
obj.categories = {}
obj.classes = {}
-- For lazy loading of [[Module:Category handler]].
obj.hasCategories = false
return setmetatable(obj, MessageBox)
end
function MessageBox:addCat(ns, cat, sort)
if not cat then
return nil
end
if sort then
cat = string.format('[[Category:%s|%s]]', cat, sort)
else
cat = string.format('[[Category:%s]]', cat)
end
self.hasCategories = true
self.categories[ns] = self.categories[ns] or {}
table.insert(self.categories[ns], cat)
end
function MessageBox:addClass(class)
if not class then
return nil
end
table.insert(self.classes, class)
end
function MessageBox:setParameters()
local args = self.args
local cfg = self.cfg
-- Get type data.
self.type = args.type
local typeData = cfg.types[self.type]
self.invalidTypeError = cfg.showInvalidTypeError
and self.type
and not typeData
typeData = typeData or cfg.types[cfg.default]
self.typeClass = typeData.class
self.typeImage = typeData.image
-- Find whether we are using a small message box.
self.isSmall = cfg.allowSmall and (
cfg.smallParam and args.small == cfg.smallParam
or not cfg.smallParam and yesno(args.small)
)
-- Add attributes, classes and styles.
self.id = args.id
self.name = args.name
if self.name then
self:addClass('box-' .. string.gsub(self.name,' ','_'))
end
if yesno(args.plainlinks) ~= false then
self:addClass('plainlinks')
end
for _, class in ipairs(cfg.classes or {}) do
self:addClass(class)
end
if self.isSmall then
self:addClass(cfg.smallClass or 'mbox-small')
end
self:addClass(self.typeClass)
self:addClass(args.class)
self.style = args.style
self.attrs = args.attrs
-- Set text style.
self.textstyle = args.textstyle
-- Find if we are on the template page or not. This functionality is only
-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory
-- and cfg.templateCategoryRequireName are set.
self.useCollapsibleTextFields = cfg.useCollapsibleTextFields
if self.useCollapsibleTextFields
or cfg.templateCategory
and cfg.templateCategoryRequireName
then
if self.name then
local templateName = mw.ustring.match(
self.name,
'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'
) or self.name
templateName = 'Template:' .. templateName
self.templateTitle = getTitleObject(templateName)
end
self.isTemplatePage = self.templateTitle
and mw.title.equals(self.title, self.templateTitle)
end
-- Process data for collapsible text fields. At the moment these are only
-- used in {{ambox}}.
if self.useCollapsibleTextFields then
-- Get the self.issue value.
if self.isSmall and args.smalltext then
self.issue = args.smalltext
else
local sect
if args.sect == '' then
sect = 'This ' .. (cfg.sectionDefault or 'page')
elseif type(args.sect) == 'string' then
sect = 'This ' .. args.sect
end
local issue = args.issue
issue = type(issue) == 'string' and issue ~= '' and issue or nil
local text = args.text
text = type(text) == 'string' and text or nil
local issues = {}
table.insert(issues, sect)
table.insert(issues, issue)
table.insert(issues, text)
self.issue = table.concat(issues, ' ')
end
-- Get the self.talk value.
local talk = args.talk
-- Show talk links on the template page or template subpages if the talk
-- parameter is blank.
if talk == ''
and self.templateTitle
and (
mw.title.equals(self.templateTitle, self.title)
or self.title:isSubpageOf(self.templateTitle)
)
then
talk = '#'
elseif talk == '' then
talk = nil
end
if talk then
-- If the talk value is a talk page, make a link to that page. Else
-- assume that it's a section heading, and make a link to the talk
-- page of the current page with that section heading.
local talkTitle = getTitleObject(talk)
local talkArgIsTalkPage = true
if not talkTitle or not talkTitle.isTalkPage then
talkArgIsTalkPage = false
talkTitle = getTitleObject(
self.title.text,
mw.site.namespaces[self.title.namespace].talk.id
)
end
if talkTitle and talkTitle.exists then
local talkText = 'Relevant discussion may be found on'
if talkArgIsTalkPage then
talkText = string.format(
'%s [[%s|%s]].',
talkText,
talk,
talkTitle.prefixedText
)
else
talkText = string.format(
'%s the [[%s#%s|talk page]].',
talkText,
talkTitle.prefixedText,
talk
)
end
self.talk = talkText
end
end
-- Get other values.
self.fix = args.fix ~= '' and args.fix or nil
local date
if args.date and args.date ~= '' then
date = args.date
elseif args.date == '' and self.isTemplatePage then
date = lang:formatDate('F Y')
end
if date then
self.date = string.format(" <small class='date-container'>''(<span class='date'>%s</span>)''</small>", date)
end
self.info = args.info
end
-- Set the non-collapsible text field. At the moment this is used by all box
-- types other than ambox, and also by ambox when small=yes.
if self.isSmall then
self.text = args.smalltext or args.text
else
self.text = args.text
end
-- Set the below row.
self.below = cfg.below and args.below
-- General image settings.
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv
self.imageEmptyCell = cfg.imageEmptyCell
if cfg.imageEmptyCellStyle then
self.imageEmptyCellStyle = 'border:none;padding:0px;width:1px'
end
-- Left image settings.
local imageLeft = self.isSmall and args.smallimage or args.image
if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none'
or not cfg.imageCheckBlank and imageLeft ~= 'none'
then
self.imageLeft = imageLeft
if not imageLeft then
local imageSize = self.isSmall
and (cfg.imageSmallSize or '30x30px')
or '40x40px'
self.imageLeft = string.format('[[File:%s|%s|link=|alt=]]', self.typeImage
or 'Imbox notice.png', imageSize)
end
end
-- Right image settings.
local imageRight = self.isSmall and args.smallimageright or args.imageright
if not (cfg.imageRightNone and imageRight == 'none') then
self.imageRight = imageRight
end
end
function MessageBox:setMainspaceCategories()
local args = self.args
local cfg = self.cfg
if not cfg.allowMainspaceCategories then
return nil
end
local nums = {}
for _, prefix in ipairs{'cat', 'category', 'all'} do
args[prefix .. '1'] = args[prefix]
nums = union(nums, getArgNums(args, prefix))
end
-- The following is roughly equivalent to the old {{Ambox/category}}.
local date = args.date
date = type(date) == 'string' and date
local preposition = 'from'
for _, num in ipairs(nums) do
local mainCat = args['cat' .. tostring(num)]
or args['category' .. tostring(num)]
local allCat = args['all' .. tostring(num)]
mainCat = type(mainCat) == 'string' and mainCat
allCat = type(allCat) == 'string' and allCat
if mainCat and date and date ~= '' then
local catTitle = string.format('%s %s %s', mainCat, preposition, date)
self:addCat(0, catTitle)
catTitle = getTitleObject('Category:' .. catTitle)
if not catTitle or not catTitle.exists then
self:addCat(0, 'Articles with invalid date parameter in template')
end
elseif mainCat and (not date or date == '') then
self:addCat(0, mainCat)
end
if allCat then
self:addCat(0, allCat)
end
end
end
function MessageBox:setTemplateCategories()
local args = self.args
local cfg = self.cfg
-- Add template categories.
if cfg.templateCategory then
if cfg.templateCategoryRequireName then
if self.isTemplatePage then
self:addCat(10, cfg.templateCategory)
end
elseif not self.title.isSubpage then
self:addCat(10, cfg.templateCategory)
end
end
-- Add template error categories.
if cfg.templateErrorCategory then
local templateErrorCategory = cfg.templateErrorCategory
local templateCat, templateSort
if not self.name and not self.title.isSubpage then
templateCat = templateErrorCategory
elseif self.isTemplatePage then
local paramsToCheck = cfg.templateErrorParamsToCheck or {}
local count = 0
for i, param in ipairs(paramsToCheck) do
if not args[param] then
count = count + 1
end
end
if count > 0 then
templateCat = templateErrorCategory
templateSort = tostring(count)
end
if self.categoryNums and #self.categoryNums > 0 then
templateCat = templateErrorCategory
templateSort = 'C'
end
end
self:addCat(10, templateCat, templateSort)
end
end
function MessageBox:setAllNamespaceCategories()
-- Set categories for all namespaces.
if self.invalidTypeError then
local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText
self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort)
end
end
function MessageBox:setCategories()
if self.title.namespace == 0 then
self:setMainspaceCategories()
elseif self.title.namespace == 10 then
self:setTemplateCategories()
end
self:setAllNamespaceCategories()
end
function MessageBox:renderCategories()
if not self.hasCategories then
-- No categories added, no need to pass them to Category handler so,
-- if it was invoked, it would return the empty string.
-- So we shortcut and return the empty string.
return ""
end
-- Convert category tables to strings and pass them through
-- [[Module:Category handler]].
return require('Module:Category handler')._main{
main = table.concat(self.categories[0] or {}),
template = table.concat(self.categories[10] or {}),
all = table.concat(self.categories.all or {}),
nocat = self.args.nocat,
page = self.args.page
}
end
function MessageBox:export()
local root = mw.html.create()
-- Create the box table.
local boxTable = root:tag('table')
boxTable:attr('id', self.id or nil)
for i, class in ipairs(self.classes or {}) do
boxTable:addClass(class or nil)
end
boxTable
:cssText(self.style or nil)
:attr('role', 'presentation')
if self.attrs then
boxTable:attr(self.attrs)
end
-- Add the left-hand image.
local row = boxTable:tag('tr')
if self.imageLeft then
local imageLeftCell = row:tag('td'):addClass('mbox-image')
if self.imageCellDiv then
-- If we are using a div, redefine imageLeftCell so that the image
-- is inside it. Divs use style="width: 52px;", which limits the
-- image width to 52px. If any images in a div are wider than that,
-- they may overlap with the text or cause other display problems.
imageLeftCell = imageLeftCell:tag('div'):css('width', '52px')
end
imageLeftCell:wikitext(self.imageLeft or nil)
elseif self.imageEmptyCell then
-- Some message boxes define an empty cell if no image is specified, and
-- some don't. The old template code in templates where empty cells are
-- specified gives the following hint: "No image. Cell with some width
-- or padding necessary for text cell to have 100% width."
row:tag('td')
:addClass('mbox-empty-cell')
:cssText(self.imageEmptyCellStyle or nil)
end
-- Add the text.
local textCell = row:tag('td'):addClass('mbox-text')
if self.useCollapsibleTextFields then
-- The message box uses advanced text parameters that allow things to be
-- collapsible. At the moment, only ambox uses this.
textCell:cssText(self.textstyle or nil)
local textCellDiv = textCell:tag('div')
textCellDiv
:addClass('mbox-text-span')
:wikitext(self.issue or nil)
if (self.talk or self.fix) and not self.isSmall then
textCellDiv:tag('span')
:addClass('hide-when-compact')
:wikitext(self.talk and (' ' .. self.talk) or nil)
:wikitext(self.fix and (' ' .. self.fix) or nil)
end
textCellDiv:wikitext(self.date and (' ' .. self.date) or nil)
if self.info and not self.isSmall then
textCellDiv
:tag('span')
:addClass('hide-when-compact')
:wikitext(self.info and (' ' .. self.info) or nil)
end
else
-- Default text formatting - anything goes.
textCell
:cssText(self.textstyle or nil)
:wikitext(self.text or nil)
end
-- Add the right-hand image.
if self.imageRight then
local imageRightCell = row:tag('td'):addClass('mbox-imageright')
if self.imageCellDiv then
-- If we are using a div, redefine imageRightCell so that the image
-- is inside it.
imageRightCell = imageRightCell:tag('div'):css('width', '52px')
end
imageRightCell
:wikitext(self.imageRight or nil)
end
-- Add the below row.
if self.below then
boxTable:tag('tr')
:tag('td')
:attr('colspan', self.imageRight and '3' or '2')
:addClass('mbox-text')
:cssText(self.textstyle or nil)
:wikitext(self.below or nil)
end
-- Add error message for invalid type parameters.
if self.invalidTypeError then
root:tag('div')
:css('text-align', 'center')
:wikitext(string.format(
'This message box is using an invalid "type=%s" parameter and needs fixing.',
self.type or ''
))
end
-- Add categories.
root:wikitext(self:renderCategories() or nil)
return tostring(root)
end
--------------------------------------------------------------------------------
-- Exports
--------------------------------------------------------------------------------
local p, mt = {}, {}
function p._exportClasses()
-- For testing.
return {
MessageBox = MessageBox
}
end
function p.main(boxType, args, cfgTables)
local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE))
box:setParameters()
box:setCategories()
return box:export()
end
local function templatestyles(frame, src)
return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = templatestyles} }
.. 'CONFIG_MODULE'
end
function mt.__index(t, k)
return function (frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))
end
end
return setmetatable(p, mt)
be00cd389f9f2afcd361e5d5e33622839555cbd9
Template:Para
10
64
171
2022-10-21T19:52:33Z
dev>Pppery
0
wikitext
text/x-wiki
<code class="tpl-para" style="word-break:break-word;{{SAFESUBST:<noinclude />#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:<noinclude />#if:{{{style|}}}|{{{style}}}}}">|{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}=}}{{{2|}}}</code><noinclude>
{{Documentation}}
<!--Categories and interwikis go near the bottom of the /doc subpage.-->
</noinclude>
7be5bee75307eae9342bbb9ff3a613e93e93d5a7
Template:Mbox/doc
10
63
169
2022-10-21T19:54:53Z
dev>Pppery
0
Localize- pass 2
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories to the /doc subpage, and interwikis at Wikidata (see Wikipedia:Wikidata) -->
{{tl|mbox}} stands '''m'''essage '''box''', which is a metatemplate used to build message boxes for other templates. It offers several different colours, images and some other features.
==Basic usage==
The box below shows the most common parameters that are accepted by {{Tl|mbox}}. The purpose of each is described below.
<pre style="overflow:auto;">
{{mbox
| name =
| small = {{{small|}}}
| type =
| image =
| sect = {{{1|}}}
| issue =
| talk = {{{talk|}}}
| fix =
| date = {{{date|}}}
| cat =
| all =
}}
</pre>
==Full usage==
The "All parameters" box shows all possible parameters for this template. However, it is not recommended to copy this, because it will never be required to use all parameters simultaneously.
{| class="wikitable" align="left" style="background:transparent; width=30%;"
!All parameters
|-
|<pre style="font-size:100%">
{{mbox
| name =
| small = {{{small|}}}
| type =
| image =
| imageright =
| smallimage =
| smallimageright =
| class =
| style =
| textstyle =
| sect = {{{1|}}}
| issue =
| talk = {{{talk|}}}
| fix =
| date = {{{date|}}}
| text =
| smalltext =
| plainlinks = no
| removalnotice =
| cat =
| all =
| cat2 =
| all2 =
| cat3 =
| all3 =
}}
</pre>
|}
{{clear}}
==Common parameters==
=== ''name'' ===
The ''name'' parameter specifies the name of the template, without the Template namespace prefix. For example [[w:Template:Underlinked]] specifies {{Para|name|Underlinked}}.
This parameter should be updated if the template is ever moved. The purpose of this parameter is to allow the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorisation of the template itself.
=== ''small'' ===
The ''small'' parameter should be passed through the template, as this will allow editors to use the small format by specifying {{para|small|left}} on an article:
{{mbox|nocat=true|small=left|text=This is the small left-aligned mbox format.}}
Otherwise the standard format will be produced:
{{mbox|nocat=true|text=This is the standard mbox format.}}
Other variations:
* For templates which should ''never'' be small, specify {{Para|small|no}} or do not pass the small parameter at all.
* For templates which should ''always'' be small, just specify {{Para|small|left}}.
* For templates which should ''default to small'', try {{para|small|<nowiki>{{{small|left}}}</nowiki>}}. This will allow an editor to override by using {{para|small|no}} on an article.
To use a small box that adjusts its width to match the text, use {{para|style|width: auto; margin-right: 0px;}} and {{para|textstyle|width: auto;}} together:
{{mbox|nocat=true|small=left|style=width: auto; margin-right: 0px;|textstyle=width: auto; margin-right: 0px;|text=This is the small left-aligned Ambox format with flexible width.}}
See [[#Sect]] below for more information on how to limit {{para|small}} display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display).
=== ''type'' ===
The ''type'' parameter defines the colour of the left bar, and the image that is used by default. The type is chosen not on aesthetics but is based on the type of issue that the template describes. The seven available types and their default images are shown below.
{{mbox
|nocat=true
| type = speedy
| text = type=<u>speedy</u> – Speedy deletion issues
}}
{{mbox
|nocat=true
| type = delete
| text = type=<u>delete</u> – Deletion issues,
}}
{{mbox
|nocat=true
| type = content
| text = type=<u>content</u> – Content issues
}}
{{mbox
|nocat=true
| type = style
| text = type=<u>style</u> – Style issues
}}
{{mbox
|nocat=true
| type = notice
| text = type=<u>notice</u> – Article notices
{{mbox
|nocat=true
| type = move
| text = type=<u>move</u> – Merge, split and transwiki proposals
}}
{{mbox
|nocat=true
| type = protection
| text = type=<u>protection</u> – Protection notices,
}}
If no ''type'' parameter is given the template defaults to {{para|type|notice}}.
=== ''image'' ===
You can choose a specific image to use for the template by using the ''image'' parameter. Images are specified using the standard syntax for inserting files. Widths of 40-50px are typical.
Please note:
* If no image is specified then the default image corresponding to the ''type'' is used. (See [[#type]] above.)
* If {{para|image|none}} is specified, then no image is used and the text uses the whole message box area.
=== ''sect'' ===
Many message templates begin with the text '''This article ...''' and it is often desirable that this wording change to '''This section ...''' if the template is used on a section instead. The value of this parameter will replace the word "article". Various possibilities for use include: {{para|sect|list}}, {{para|sect|table}}, {{para|sect|"In popular culture" material}}, etc.
If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated.
A common way to facilitate this functionality is to pass {{para|sect|<nowiki>{{{1|}}}</nowiki>}}. This will allow editors to type <kbd>section</kbd>, for example, as the first unnamed parameter of the template to change the wording. Another approach is to pass {{para|sect|<nowiki>{{{section|{{{sect|}}}}}}</nowiki>}} to provide a named value.
=== ''issue'' and ''fix'' ===
The ''issue'' parameter is used to describe the issue with the page. Try to keep it short and to-the-point (approximately 10-20 words).
The ''fix'' parameter contains some text which describes what should be done to improve the page. It may be longer than the text in ''issue'', but should not usually be more than two sentences.
When the template is in its small form (when using {{para|small|left}}), the ''issue'' is the only text that will be displayed. For example [[w:Template:Citation style]] defines
When used stand-alone it produces the whole text:
But when used with |small=left it displays only the issue:
=== ''talk'' ===
Some message templates include a link to the talk page, and allow an editor to specify a section heading to link directly to the relevant section. To achieve this functionality, simply pass the ''talk'' parameter through, i.e. talk=<nowiki>{{{talk|}}}</nowiki>
This parameter may then be used by an editor as follows:
* talk=SECTION HEADING – the link will point to the specified section on the article's talk page, e.g. talk=Foo.
* talk=FULL PAGE NAME – the template will link to the page specified (which may include a section anchor), e.g. talk=Talk:Banana#Foo
Notes:
* When this parameter is used by a template, the talk page link will appear on the template itself (in order to demonstrate the functionality) but this will only display on articles if the parameter is actually defined.
* In order to make sure there is always a link to the talk page, you can use |talk=<nowiki>{{{talk|#}}}</nowiki>.
* If the talk page does not exist, there will be no link, whatever the value of the parameter.
=== ''date'' ===
Passing the ''date'' parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a bot). This will be displayed after the message in a smaller font.
Passing this parameter also enables monthly cleanup categorisation when the ''cat'' parameter is also defined.
=== ''info'' ===
This parameter is for specifying additional information. Whatever you add here will appear after the date.
=== ''cat'' ===
This parameter defines a monthly cleanup category. If |cat=CATEGORY then:
* articles will be placed in '''Category:CATEGORY from DATE''' if |date=DATE is specified.
* articles will be placed in '''Category:CATEGORY''' if the date is not specified.
For example, [[w:Template:No footnotes]] specifies |cat=Articles lacking in-text citations and so an article with the template {{Tlx|No footnotes|2=date=June 2010|SISTER=w:}} will be placed in [[w:Category:Articles lacking in-text citations from June 2010]].
The ''cat'' parameter should not be linked, nor should the prefix <code>Category:</code> be used.
=== ''all'' ===
The ''all'' parameter defines a category into which all articles should be placed.
The ''all'' parameter should not be linked, nor should the prefix <code>Category:</code> be used.
== Additional parameters ==
=== ''imageright'' ===
An image on the right side of the message box may be specified using this parameter. The syntax is the same as for the ''image'' parameter, except that the default is no image.
=== ''smallimage'' and ''smallimageright'' ===
Images for the small format box may be specified using these parameters. They will have no effect unless {{para|small|left}} is specified.
=== ''class'' ===
Custom [[w:Cascading Style Sheets|CSS]] classes to apply to the box. If adding multiple classes, they should be space-separated.
=== ''style'' and ''textstyle'' ===
Optional CSS values may be defined, without quotation marks <code>" "</code> but with the ending semicolons <code>;</code>.
* ''style'' specifies the style used by the entire message box table. This can be used to do things such as modifying the width of the box.
* ''textstyle'' relates to the text cell.
=== ''text'' and ''smalltext'' ===
Instead of specifying the ''issue'' and the ''fix'' it is possible to use the ''text'' parameter instead.
Customised text for the small format can be defined using ''smalltext''.
=== ''plainlinks'' ===
Normally on Wikipedia, external links have an arrow icon next to them, like this: [http://www.example.com Example.com]. However, in message boxes, the arrow icon is suppressed by default, like this: <span class="plainlinks">[http://www.example.com Example.com]</span>. To get the normal style of external link with the arrow icon, use {{para|plainlinks|no}}.
=== ''cat2'', ''cat3'', ''all2'', and ''all3'' ===
* ''cat2'' and ''cat3'' provide for additional monthly categories; see [[#cat]].
* ''all2'' and ''all3'' provide for additional categories into which all articles are placed, just like [[#all]].
== Technical notes ==
* If you need to use special characters in the text parameter then you need to escape them like this:
<syntaxhighlight lang="xml">
{{mbox
|nocat=true
| text = <div>
Equal sign = and a start and end brace { } work fine as they are.
But here is a pipe | and two end braces <nowiki>}}</nowiki>.
And now a pipe and end braces <nowiki>|}}</nowiki>.
</div>
}}
</syntaxhighlight>
{{mbox
|nocat=true
| text = <div>
Equal sign = and a start and end brace { } work fine as they are.
But here is a pipe | and two end braces <nowiki>}}</nowiki>.
And now a pipe and end braces <nowiki>|}}</nowiki>.
</div>
}}
* The <code><div></code> tags that surround the text in the example above are usually not needed. But if the text contains line breaks then sometimes we get weird line spacing. This especially happens when using vertical dotted lists. Then use the div tags to fix that.
* The default images for this meta-template are in png format instead of svg format. The main reason is that some older web browsers have trouble with the transparent background that MediaWiki renders for svg images. The png images here have hand optimised transparent background colour so they look good in all browsers. Note that svg icons only look somewhat bad in the old browsers, thus such hand optimisation is only worth the trouble for very widely used icons.
== TemplateData ==
<templatedata>
{
"params": {
"1": {},
"small": {
"label": "Small Mode",
"description": "The small parameter should be passed through the template, as this will allow editors to use the small format by specifying |small=left on an article.",
"type": "string",
"suggestedvalues": [
"no",
"left"
]
},
"talk": {},
"date": {},
"name": {
"label": "Template Name",
"description": "The name parameter specifies the name of the template, without the Template namespace prefix. ",
"type": "string"
},
"type": {},
"image": {},
"sect": {},
"issue": {},
"fix": {},
"info": {},
"cat": {},
"all": {},
"imageright": {},
"class": {},
"text ": {},
"plainlinks": {},
"smallimage ": {},
"smallimageright": {},
"textstyle": {},
"style ": {},
"smalltext": {},
"cat2": {},
"cat3": {},
"all2": {},
"all3": {}
},
"paramOrder": [
"name",
"small",
"type",
"image",
"sect",
"issue",
"fix",
"talk",
"date",
"1",
"info",
"cat",
"all",
"imageright",
"class",
"text ",
"plainlinks",
"smallimage ",
"smallimageright",
"textstyle",
"style ",
"smalltext",
"cat2",
"cat3",
"all2",
"all3"
]
}
</templatedata>
<includeonly>[[Category:Notice templates]]</includeonly>
7b00ac1be5a47eeb858d5ff75f02906ce5d85ff2
Module:Message box/configuration
828
74
191
2022-10-21T22:38:02Z
dev>Pppery
0
Scribunto
text/plain
--------------------------------------------------------------------------------
-- Message box configuration --
-- --
-- This module contains configuration data for [[Module:Message box]]. --
--------------------------------------------------------------------------------
return {
ambox = {
types = {
speedy = {
class = 'ambox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ambox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ambox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ambox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ambox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ambox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ambox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'hidden'},
allowSmall = true,
smallParam = 'left',
smallClass = 'mbox-small-left',
classes = {'metadata', 'ambox'},
imageEmptyCell = true,
imageCheckBlank = true,
imageSmallSize = '20x20px',
imageCellDiv = true,
useCollapsibleTextFields = true,
imageRightNone = true,
sectionDefault = 'article',
allowMainspaceCategories = true,
templateCategory = 'Article message templates',
templateCategoryRequireName = true,
templateErrorCategory = 'Article message templates with missing parameters',
templateErrorParamsToCheck = {'issue', 'fix'},
},
cmbox = {
types = {
speedy = {
class = 'cmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'cmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'cmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'cmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'cmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'cmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'cmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'cmbox'},
imageEmptyCell = true
},
fmbox = {
types = {
warning = {
class = 'fmbox-warning',
image = 'Ambox warning pn.svg'
},
editnotice = {
class = 'fmbox-editnotice',
image = 'Information icon4.svg'
},
system = {
class = 'fmbox-system',
image = 'Information icon4.svg'
}
},
default = 'system',
showInvalidTypeError = true,
classes = {'fmbox'},
imageEmptyCell = false,
imageRightNone = false
},
imbox = {
types = {
speedy = {
class = 'imbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'imbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'imbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'imbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'imbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'imbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
license = {
class = 'imbox-license licensetpl',
image = 'Imbox license.png' -- @todo We need an SVG version of this
},
featured = {
class = 'imbox-featured',
image = 'Cscr-featured.svg'
},
notice = {
class = 'imbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'imbox'},
imageEmptyCell = true,
below = true,
templateCategory = 'File message boxes'
},
ombox = {
types = {
speedy = {
class = 'ombox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ombox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ombox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ombox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ombox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ombox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ombox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'ombox'},
allowSmall = true,
imageEmptyCell = true,
imageRightNone = true
},
tmbox = {
types = {
speedy = {
class = 'tmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'tmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'tmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'tmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'tmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'tmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'tmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'tmbox'},
allowSmall = true,
imageRightNone = true,
imageEmptyCell = true,
imageEmptyCellStyle = true,
templateCategory = 'Talk message boxes'
}
}
c6bd9191861b23e474e12b19c694335c4bc3af5f
Template:Mbox
10
57
157
2022-10-21T23:02:23Z
dev>Pppery
0
Reverted edits by [[Special:Contributions/Pppery|Pppery]] ([[User talk:Pppery|talk]]) to last revision by [[User:wikipedia>Amorymeltzer|wikipedia>Amorymeltzer]]
wikitext
text/x-wiki
{{#invoke:Message box|mbox}}<noinclude>
{{documentation}}
<!-- Categories go on the /doc subpage, and interwikis go on Wikidata. -->
</noinclude>
c262e205f85f774a23f74119179ceea11751d68e
Template:Delete
10
56
155
2022-10-24T15:28:45Z
dev>Universal Omega
0
Update tvar tags
wikitext
text/x-wiki
{{MessageBox
|Flag color=firebrick
|Border color=firebrick
|Background color=#FFEEEE
|Image=[[File:Trash Can.svg|80px]]
|Message text=<span style="line-height:2;"><span style="color:red; line-height:1.2;">'''This article is a candidate for speedy deletion because {{{1}}}. '''</span><br><span style="color:#000000;">
Deleting Reason: {{{1|No reason given}}}</span></span>
}}<noinclude>[[Category:Notice templates]]</noinclude>
<includeonly>[[Category:Candidates for deletion]]</includeonly>
<noinclude>
<languages />
<translate>
<!--T:1-->
== Usage Note ==
Add this template to any page on this wiki for which you're requesting an [[<tvar name=admin>mw:Special:MyLanguage/Manual:Administrators</tvar>|administrator]] to delete, either by adding it to the very top of the page (preferred) or by replacing the existing content with this template (also acceptable) following the format prescribed below.</translate>
<code><nowiki>{{Delete|1=</nowiki>''Your deletion reason''<nowiki>}}</nowiki></code>
<translate>
<!--T:2-->
Replace ''your deletion reason'' with one of the commonly accepted reasons for deletion below, or describe concisely ''why'' you are requesting deletion.
<!--T:3-->
If you do not specify a reason in parameter <code>1=</code>, ''no deletion reason'' will be inserted, and your request ''may'' be declined if it is not apparent why deletion is being requested.
<!--T:4-->
=== Commonly accepted reasons for deletion ===
* Vandalism
* Attack page/page created solely for harassment
* Copyright violation
* Spam
* Test page. Please either use the [[<tvar name=sb>m:Meta:Sandbox</tvar>|community sandbox]] or [[<tvar name=mypsb>Special:MyPage/sandbox</tvar>|create your personal sandbox]]
* Non-controversial housekeeping
* [[<tvar name=br>Special:BrokenRedirects</tvar>|Broken redirect]]
* [[<tvar name=dr>Special:DoubleRedirects</tvar>|Double redirect]]
* Author requests deletion, or author blanked
* Subpages with no parent page
* Talk pages with no companion page and no meaningful discussion history
* Images available as identical copies on either [[<tvar name=commons>commons:Special:MyLanguage/Main Page</tvar>|Miraheze Commons]] or [[wikimediacommons:|Wikimedia Commons]]
* [[<tvar name=uc>Special:UnusedCategories</tvar>|Empty category]]
* [[<tvar name=ut>Special:UnusedTemplates</tvar>|Unused template (including a template redirect)]] with no inlinks, transclusions, or page watchers
=== Parameter(s) === <!--T:5-->
</translate>
<templatedata>
{
"params": {
"1": {
"label": "Deletion reason",
"example": "Author requests deletion, or author blanked",
"default": "No deletion reason",
"suggested": true,
"description": "Template to add to any page requiring deletion."
}
}
}
</templatedata>
</noinclude>
ae465d4609d3bbb646339e90ae469c31ce34a9df
Main Page
0
1
1
2022-11-25T08:09:45Z
MediaWiki default
1
Create main page
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This Main Page was created automatically and it seems it hasn't been replaced yet.
=== For the bureaucrat(s) of this wiki ===
Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting.
You can immediately start working on your wiki or whenever you want.
Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links:
* [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users)
* [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]]
* [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.)
==== I still don't understand X! ====
Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here:
* [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]]
* On [[phab:|Phabricator]]
* On [https://miraheze.org/discord Discord]
* On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat])
=== For visitors of this wiki ===
Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later!
21236ac3f8d65e5563b6da6b70815ca6bf1e6616
4
1
2022-11-25T09:35:24Z
Werewire
2
/* For visitors of this wiki */
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This Main Page was created automatically and it seems it hasn't been replaced yet.
=== For the bureaucrat(s) of this wiki ===
Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting.
You can immediately start working on your wiki or whenever you want.
Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links:
* [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users)
* [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]]
* [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.)
==== I still don't understand X! ====
Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here:
* [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]]
* On [[phab:|Phabricator]]
* On [https://miraheze.org/discord Discord]
* On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat])
=== For visitors of this wiki ===
Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later!
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
525b6ff0c06e6bb292e8ffbfe8e517b4aab05b6a
20
4
2022-11-26T04:41:09Z
Werewire
2
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom].
=== For the bureaucrat(s) of this wiki ===
Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting.
You can immediately start working on your wiki or whenever you want.
Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links:
* [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users)
* [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]]
* [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.)
==== I still don't understand X! ====
Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here:
* [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]]
* On [[phab:|Phabricator]]
* On [https://miraheze.org/discord Discord]
* On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat])
=== For visitors of this wiki ===
Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later!
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
826e1be761a7782898b2949203ad3f631c2b571e
23
20
2022-11-26T05:12:36Z
Werewire
2
Main page done!
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom].
=== For visitors of this wiki: ===
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, look somewhat like [[Kid|Kid's]] page
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* Highlight colors
* Images from the comics
* All the cast images
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
8236714ade5b519dae88e35ad0bd11e9dc2a4c52
File:Eox.ico
6
2
2
2022-11-25T08:35:07Z
Werewire
2
favicon
wikitext
text/x-wiki
== Summary ==
favicon
2360d15e65d02af45a96f1c2726e00a2bcbfbe05
File:200x.png
6
3
3
2022-11-25T09:30:12Z
Werewire
2
placeholder while i figure out how to make templates
wikitext
text/x-wiki
== Summary ==
placeholder while i figure out how to make templates
15a5fd2eda8f7368bf6e62ae005f63f0579b988f
Template:Infobox/Character
10
4
5
2022-11-25T09:44:40Z
Werewire
2
possible template for infoboxes
wikitext
text/x-wiki
{| class="wikitable"
|+
!Name
|-
|[[File:200x.png|frameless]]
|-
|"Quote Goes here?"
|-
|First Appearance:
|-
|Status:
|-
|Nicknames:
|-
|Highlight Color:
|-
|Relationships:
|-
|Likes:
|-
|Dislikes:
|}
5fc7dad12a4f0f5d0f4751faf480157af0631e05
Module:Infobox
828
5
6
2022-11-25T19:30:11Z
PercyUK
3
Created page with "local p = {} local args = {} local origArgs = {} local root local empty_row_categories = {} local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' local has_rows = false local function fixChildBoxes(sval, tt) local function notempty( s ) return s and s:match( '%S' ) end if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw...."
Scribunto
text/plain
local p = {}
local args = {}
local origArgs = {}
local root
local empty_row_categories = {}
local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]'
local has_rows = false
local function fixChildBoxes(sval, tt)
local function notempty( s ) return s and s:match( '%S' ) end
if notempty(sval) then
local marker = '<span class=special_infobox_marker>'
local s = sval
s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1')
s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker)
if s:match(marker) then
s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '')
s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1')
s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1')
s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1')
s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1')
s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1')
s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1')
s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1')
s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1')
end
if s:match(marker) then
local subcells = mw.text.split(s, marker)
s = ''
for k = 1, #subcells do
if k == 1 then
s = s .. subcells[k] .. '</' .. tt .. '></tr>'
elseif k == #subcells then
local rowstyle = ' style="display:none"'
if notempty(subcells[k]) then rowstyle = '' end
s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' ..
subcells[k]
elseif notempty(subcells[k]) then
if (k % 2) == 0 then
s = s .. subcells[k]
else
s = s .. '<tr><' .. tt .. ' colspan=2>\n' ..
subcells[k] .. '</' .. tt .. '></tr>'
end
end
end
end
-- the next two lines add a newline at the end of lists for the PHP parser
-- [[Special:Diff/849054481]]
-- remove when [[:phab:T191516]] is fixed or OBE
s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n')
s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n')
s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1')
s = mw.ustring.gsub(s, '^(%{%|)', '\n%1')
return s
else
return sval
end
end
-- Cleans empty tables
local function cleanInfobox()
root = tostring(root)
if has_rows == false then
root = mw.ustring.gsub(root, '<table[^<>]*>%s*</table>', '')
end
end
-- Returns the union of the values of two tables, as a sequence.
local function union(t1, t2)
local vals = {}
for k, v in pairs(t1) do
vals[v] = true
end
for k, v in pairs(t2) do
vals[v] = true
end
local ret = {}
for k, v in pairs(vals) do
table.insert(ret, k)
end
return ret
end
-- Returns a table containing the numbers of the arguments that exist
-- for the specified prefix. For example, if the prefix was 'data', and
-- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}.
local function getArgNums(prefix)
local nums = {}
for k, v in pairs(args) do
local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$')
if num then table.insert(nums, tonumber(num)) end
end
table.sort(nums)
return nums
end
-- Adds a row to the infobox, with either a header cell
-- or a label/data cell combination.
local function addRow(rowArgs)
if rowArgs.header and rowArgs.header ~= '_BLANK_' then
has_rows = true
root
:tag('tr')
:addClass(rowArgs.rowclass)
:cssText(rowArgs.rowstyle)
:tag('th')
:attr('colspan', '2')
:addClass('infobox-header')
:addClass(rowArgs.class)
:addClass(args.headerclass)
-- @deprecated next; target .infobox-<name> .infobox-header
:cssText(args.headerstyle)
:cssText(rowArgs.rowcellstyle)
:wikitext(fixChildBoxes(rowArgs.header, 'th'))
if rowArgs.data then
root:wikitext(
'[[Category:Pages which use infobox templates with ignored data cells]]'
)
end
elseif rowArgs.data and rowArgs.data:gsub(
category_in_empty_row_pattern, ''
):match('^%S') then
has_rows = true
local row = root:tag('tr')
row:addClass(rowArgs.rowclass)
row:cssText(rowArgs.rowstyle)
if rowArgs.label then
row
:tag('th')
:attr('scope', 'row')
:addClass('infobox-label')
-- @deprecated next; target .infobox-<name> .infobox-label
:cssText(args.labelstyle)
:cssText(rowArgs.rowcellstyle)
:wikitext(rowArgs.label)
:done()
end
local dataCell = row:tag('td')
dataCell
:attr('colspan', not rowArgs.label and '2' or nil)
:addClass(not rowArgs.label and 'infobox-full-data' or 'infobox-data')
:addClass(rowArgs.class)
-- @deprecated next; target .infobox-<name> .infobox(-full)-data
:cssText(rowArgs.datastyle)
:cssText(rowArgs.rowcellstyle)
:wikitext(fixChildBoxes(rowArgs.data, 'td'))
else
table.insert(empty_row_categories, rowArgs.data or '')
end
end
local function renderTitle()
if not args.title then return end
has_rows = true
root
:tag('caption')
:addClass('infobox-title')
:addClass(args.titleclass)
-- @deprecated next; target .infobox-<name> .infobox-title
:cssText(args.titlestyle)
:wikitext(args.title)
end
local function renderAboveRow()
if not args.above then return end
has_rows = true
root
:tag('tr')
:tag('th')
:attr('colspan', '2')
:addClass('infobox-above')
:addClass(args.aboveclass)
-- @deprecated next; target .infobox-<name> .infobox-above
:cssText(args.abovestyle)
:wikitext(fixChildBoxes(args.above,'th'))
end
local function renderBelowRow()
if not args.below then return end
has_rows = true
root
:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('infobox-below')
:addClass(args.belowclass)
-- @deprecated next; target .infobox-<name> .infobox-below
:cssText(args.belowstyle)
:wikitext(fixChildBoxes(args.below,'td'))
end
local function addSubheaderRow(subheaderArgs)
if subheaderArgs.data and
subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then
has_rows = true
local row = root:tag('tr')
row:addClass(subheaderArgs.rowclass)
local dataCell = row:tag('td')
dataCell
:attr('colspan', '2')
:addClass('infobox-subheader')
:addClass(subheaderArgs.class)
:cssText(subheaderArgs.datastyle)
:cssText(subheaderArgs.rowcellstyle)
:wikitext(fixChildBoxes(subheaderArgs.data, 'td'))
else
table.insert(empty_row_categories, subheaderArgs.data or '')
end
end
local function renderSubheaders()
if args.subheader then
args.subheader1 = args.subheader
end
if args.subheaderrowclass then
args.subheaderrowclass1 = args.subheaderrowclass
end
local subheadernums = getArgNums('subheader')
for k, num in ipairs(subheadernums) do
addSubheaderRow({
data = args['subheader' .. tostring(num)],
-- @deprecated next; target .infobox-<name> .infobox-subheader
datastyle = args.subheaderstyle,
rowcellstyle = args['subheaderstyle' .. tostring(num)],
class = args.subheaderclass,
rowclass = args['subheaderrowclass' .. tostring(num)]
})
end
end
local function addImageRow(imageArgs)
if imageArgs.data and
imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then
has_rows = true
local row = root:tag('tr')
row:addClass(imageArgs.rowclass)
local dataCell = row:tag('td')
dataCell
:attr('colspan', '2')
:addClass('infobox-image')
:addClass(imageArgs.class)
:cssText(imageArgs.datastyle)
:wikitext(fixChildBoxes(imageArgs.data, 'td'))
else
table.insert(empty_row_categories, imageArgs.data or '')
end
end
local function renderImages()
if args.image then
args.image1 = args.image
end
if args.caption then
args.caption1 = args.caption
end
local imagenums = getArgNums('image')
for k, num in ipairs(imagenums) do
local caption = args['caption' .. tostring(num)]
local data = mw.html.create():wikitext(args['image' .. tostring(num)])
if caption then
data
:tag('div')
:addClass('infobox-caption')
-- @deprecated next; target .infobox-<name> .infobox-caption
:cssText(args.captionstyle)
:wikitext(caption)
end
addImageRow({
data = tostring(data),
-- @deprecated next; target .infobox-<name> .infobox-image
datastyle = args.imagestyle,
class = args.imageclass,
rowclass = args['imagerowclass' .. tostring(num)]
})
end
end
-- When autoheaders are turned on, preprocesses the rows
local function preprocessRows()
if not args.autoheaders then return end
local rownums = union(getArgNums('header'), getArgNums('data'))
table.sort(rownums)
local lastheader
for k, num in ipairs(rownums) do
if args['header' .. tostring(num)] then
if lastheader then
args['header' .. tostring(lastheader)] = nil
end
lastheader = num
elseif args['data' .. tostring(num)] and
args['data' .. tostring(num)]:gsub(
category_in_empty_row_pattern, ''
):match('^%S') then
local data = args['data' .. tostring(num)]
if data:gsub(category_in_empty_row_pattern, ''):match('%S') then
lastheader = nil
end
end
end
if lastheader then
args['header' .. tostring(lastheader)] = nil
end
end
-- Gets the union of the header and data argument numbers,
-- and renders them all in order
local function renderRows()
local rownums = union(getArgNums('header'), getArgNums('data'))
table.sort(rownums)
for k, num in ipairs(rownums) do
addRow({
header = args['header' .. tostring(num)],
label = args['label' .. tostring(num)],
data = args['data' .. tostring(num)],
datastyle = args.datastyle,
class = args['class' .. tostring(num)],
rowclass = args['rowclass' .. tostring(num)],
-- @deprecated next; target .infobox-<name> rowclass
rowstyle = args['rowstyle' .. tostring(num)],
rowcellstyle = args['rowcellstyle' .. tostring(num)]
})
end
end
local function renderNavBar()
if not args.name then return end
has_rows = true
root
:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('infobox-navbar')
:wikitext(require('Module:Navbar')._navbar{
args.name,
mini = 1,
})
end
local function renderItalicTitle()
local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title'])
if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then
root:wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'}))
end
end
-- Categories in otherwise empty rows are collected in empty_row_categories.
-- This function adds them to the module output. It is not affected by
-- args.decat because this module should not prevent module-external categories
-- from rendering.
local function renderEmptyRowCategories()
for _, s in ipairs(empty_row_categories) do
root:wikitext(s)
end
end
-- Render tracking categories. args.decat == turns off tracking categories.
local function renderTrackingCategories()
if args.decat == 'yes' then return end
if args.child == 'yes' then
if args.title then
root:wikitext(
'[[Category:Pages which use embedded infobox templates with the title parameter]]'
)
end
elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then
root:wikitext('[[Category:Articles which use infobox templates with no data rows]]')
end
end
--[=[
Loads the templatestyles for the infobox.
TODO: load base templatestyles here rather than in MediaWiki:Common.css
We aren't doing it here yet because there are 4-5000 pages with 'raw' infobox
tables. See [[Mediawiki_talk:Common.css/to_do#Infobox]] and/or come help :).
When we do this we should clean up the inline CSS below too.
Will have to do some bizarre conversion category like with sidebar.
]=]
local function loadTemplateStyles()
local frame = mw.getCurrentFrame()
-- See function description
-- local base_templatestyles = frame:extensionTag{
-- name = 'templatestyles', args = { src = cfg.i18n.templatestyles }
-- }
local templatestyles = ''
if args['templatestyles'] then templatestyles = frame:extensionTag{
name = 'templatestyles', args = { src = args['templatestyles'] }
}
end
local child_templatestyles = ''
if args['child templatestyles'] then child_templatestyles = frame:extensionTag{
name = 'templatestyles', args = { src = args['child templatestyles'] }
}
end
local grandchild_templatestyles = ''
if args['grandchild templatestyles'] then grandchild_templatestyles = frame:extensionTag{
name = 'templatestyles', args = { src = args['grandchild templatestyles'] }
}
end
return table.concat({
-- base_templatestyles, -- see function description
templatestyles,
child_templatestyles,
grandchild_templatestyles
})
end
-- Specify the overall layout of the infobox, with special settings if the
-- infobox is used as a 'child' inside another infobox.
local function _infobox()
if args.child ~= 'yes' then
root = mw.html.create('table')
root
:addClass(args.subbox == 'yes' and 'infobox-subbox' or 'infobox')
:addClass(args.bodyclass)
-- @deprecated next; target .infobox-<name>
:cssText(args.bodystyle)
renderTitle()
renderAboveRow()
else
root = mw.html.create()
root
:wikitext(args.title)
end
renderSubheaders()
renderImages()
preprocessRows()
renderRows()
renderBelowRow()
renderNavBar()
renderItalicTitle()
renderEmptyRowCategories()
renderTrackingCategories()
cleanInfobox()
return loadTemplateStyles() .. root
end
-- If the argument exists and isn't blank, add it to the argument table.
-- Blank arguments are treated as nil to match the behaviour of ParserFunctions.
local function preprocessSingleArg(argName)
if origArgs[argName] and origArgs[argName] ~= '' then
args[argName] = origArgs[argName]
end
end
-- Assign the parameters with the given prefixes to the args table, in order, in
-- batches of the step size specified. This is to prevent references etc. from
-- appearing in the wrong order. The prefixTable should be an array containing
-- tables, each of which has two possible fields, a "prefix" string and a
-- "depend" table. The function always parses parameters containing the "prefix"
-- string, but only parses parameters in the "depend" table if the prefix
-- parameter is present and non-blank.
local function preprocessArgs(prefixTable, step)
if type(prefixTable) ~= 'table' then
error("Non-table value detected for the prefix table", 2)
end
if type(step) ~= 'number' then
error("Invalid step value detected", 2)
end
-- Get arguments without a number suffix, and check for bad input.
for i,v in ipairs(prefixTable) do
if type(v) ~= 'table' or type(v.prefix) ~= "string" or
(v.depend and type(v.depend) ~= 'table') then
error('Invalid input detected to preprocessArgs prefix table', 2)
end
preprocessSingleArg(v.prefix)
-- Only parse the depend parameter if the prefix parameter is present
-- and not blank.
if args[v.prefix] and v.depend then
for j, dependValue in ipairs(v.depend) do
if type(dependValue) ~= 'string' then
error('Invalid "depend" parameter value detected in preprocessArgs')
end
preprocessSingleArg(dependValue)
end
end
end
-- Get arguments with number suffixes.
local a = 1 -- Counter variable.
local moreArgumentsExist = true
while moreArgumentsExist == true do
moreArgumentsExist = false
for i = a, a + step - 1 do
for j,v in ipairs(prefixTable) do
local prefixArgName = v.prefix .. tostring(i)
if origArgs[prefixArgName] then
-- Do another loop if any arguments are found, even blank ones.
moreArgumentsExist = true
preprocessSingleArg(prefixArgName)
end
-- Process the depend table if the prefix argument is present
-- and not blank, or we are processing "prefix1" and "prefix" is
-- present and not blank, and if the depend table is present.
if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then
for j,dependValue in ipairs(v.depend) do
local dependArgName = dependValue .. tostring(i)
preprocessSingleArg(dependArgName)
end
end
end
end
a = a + step
end
end
-- Parse the data parameters in the same order that the old {{infobox}} did, so
-- that references etc. will display in the expected places. Parameters that
-- depend on another parameter are only processed if that parameter is present,
-- to avoid phantom references appearing in article reference lists.
local function parseDataParameters()
preprocessSingleArg('autoheaders')
preprocessSingleArg('child')
preprocessSingleArg('bodyclass')
preprocessSingleArg('subbox')
preprocessSingleArg('bodystyle')
preprocessSingleArg('title')
preprocessSingleArg('titleclass')
preprocessSingleArg('titlestyle')
preprocessSingleArg('above')
preprocessSingleArg('aboveclass')
preprocessSingleArg('abovestyle')
preprocessArgs({
{prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}}
}, 10)
preprocessSingleArg('subheaderstyle')
preprocessSingleArg('subheaderclass')
preprocessArgs({
{prefix = 'image', depend = {'caption', 'imagerowclass'}}
}, 10)
preprocessSingleArg('captionstyle')
preprocessSingleArg('imagestyle')
preprocessSingleArg('imageclass')
preprocessArgs({
{prefix = 'header'},
{prefix = 'data', depend = {'label'}},
{prefix = 'rowclass'},
{prefix = 'rowstyle'},
{prefix = 'rowcellstyle'},
{prefix = 'class'}
}, 50)
preprocessSingleArg('headerclass')
preprocessSingleArg('headerstyle')
preprocessSingleArg('labelstyle')
preprocessSingleArg('datastyle')
preprocessSingleArg('below')
preprocessSingleArg('belowclass')
preprocessSingleArg('belowstyle')
preprocessSingleArg('name')
-- different behaviour for italics if blank or absent
args['italic title'] = origArgs['italic title']
preprocessSingleArg('decat')
preprocessSingleArg('templatestyles')
preprocessSingleArg('child templatestyles')
preprocessSingleArg('grandchild templatestyles')
end
-- If called via #invoke, use the args passed into the invoking template.
-- Otherwise, for testing purposes, assume args are being passed directly in.
function p.infobox(frame)
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
end
parseDataParameters()
return _infobox()
end
-- For calling via #invoke within a template
function p.infoboxTemplate(frame)
origArgs = {}
for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end
parseDataParameters()
return _infobox()
end
return p
8da3d8cb2583739d63030681ca84df90700981fa
MediaWiki:Common.css
8
6
7
2022-11-25T22:39:34Z
Werewire
2
basic css updates to make the wiki resemble the eox cf site
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link, a:visited {
color: #1e1e1e;
text-decoration: none; border-bottom:1px solid #000; }
2b0c1d0ff122bd33b760ecbb00a6c143b05f0871
9
7
2022-11-26T00:25:41Z
Werewire
2
additional css updates
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link, a:visited {
color: #1e1e1e;
text-decoration: none; border-bottom:1px solid #1e1e1e; }
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #1e1e1e;
}
.vector-menu-tabs li a {
color: #1e1e1e;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
margin: 1em 0;
border: 1px solid #a2a9b1;
border-collapse: collapse;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
a9c707c546ee5245aa2899c73531b52947303380
12
9
2022-11-26T01:37:43Z
Werewire
2
added float to wikitables
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link, a:visited {
color: #1e1e1e;
text-decoration: none; border-bottom:1px solid #1e1e1e; }
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #1e1e1e;
}
.vector-menu-tabs li a {
color: #1e1e1e;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
margin: 1em 0;
border: 1px solid #a2a9b1;
border-collapse: collapse;
float: right;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
44413cb8bd535982f50b428fa0f9117a74358b33
13
12
2022-11-26T01:39:20Z
Werewire
2
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link, a:visited {
color: #1e1e1e;
text-decoration: none; border-bottom:1px solid #1e1e1e; }
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #1e1e1e;
}
.vector-menu-tabs li a {
color: #1e1e1e;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
margin: 1em 0;
border: 1px solid #a2a9b1;
border-collapse: collapse;
float: right;
clear: right;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
26d020545fecd6af24b46b97f414dc3ae3e723ec
14
13
2022-11-26T01:44:13Z
Werewire
2
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link, a:visited {
color: #1e1e1e;
text-decoration: none; border-bottom:1px solid #1e1e1e; }
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #1e1e1e;
}
.vector-menu-tabs li a {
color: #1e1e1e;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
border: 1px solid #a2a9b1;
float: right;
clear: right;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
3161e8e44f525a7b5290bcb320a83cb7c5e69eb7
15
14
2022-11-26T03:53:13Z
Werewire
2
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link, a:visited {
color: #1e1e1e;
text-decoration: none; border-bottom:1px solid #1e1e1e; }
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #1e1e1e;
}
.vector-menu-tabs li a {
color: #1e1e1e;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
border: 1px solid #a2a9b1;
float: right;
clear: right;
width: 295px;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
9fe1edb0d8153dd266ad919a8405debbcee0b709
File:Wiki header.png
6
7
8
2022-11-26T00:12:11Z
Werewire
2
may or may not replace this later
wikitext
text/x-wiki
== Summary ==
may or may not replace this later
5dba86fce50d062a302973ee76dbf5e143965f56
File:Castkid.png
6
8
10
2022-11-26T00:55:03Z
Werewire
2
1st kid cast image
wikitext
text/x-wiki
== Summary ==
1st kid cast image
97a1b37644f7f683335d08dda97e449671645f4c
File:Castkidwithcape.png
6
9
11
2022-11-26T00:55:59Z
Werewire
2
2nd and current cast image for kid
wikitext
text/x-wiki
== Summary ==
2nd and current cast image for kid
c3486df7fc0a565ff46b28260954a36b86f04d99
File:KidSitting.PNG
6
10
16
2022-11-26T04:22:31Z
Werewire
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
Kid
0
11
17
2022-11-26T04:31:25Z
Werewire
2
basic page for kid, roughly the page outline to aim for
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castkidwithcape.png|frameless|center]]
|-
|''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"''
|-
|'''First Appearance:''' Page 1, 2/2/2022
|-
|'''Status: Alive'''
|-
|'''Highlight Color: None'''
|-
|'''Nicknames: None'''
|-
|'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Kid or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
Castkid.png|Kid Cast Image
KidSitting.png|Sitting :-]
</gallery>
== References ==
-To Be Added
2a66b8e5de05c48b21d98f80478445e74b2012a5
18
17
2022-11-26T04:32:37Z
Werewire
2
/* Gallery */
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castkidwithcape.png|frameless|center]]
|-
|''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"''
|-
|'''First Appearance:''' Page 1, 2/2/2022
|-
|'''Status: Alive'''
|-
|'''Highlight Color: None'''
|-
|'''Nicknames: None'''
|-
|'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Kid or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
-To Be Added
9eb1ec3efb47a55b02ff6e005ac97e35a199e550
19
18
2022-11-26T04:33:37Z
Werewire
2
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castkidwithcape.png|frameless|center]]
|-
|''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"''
|-
|'''First Appearance:''' Page 1, 2/2/2022
|-
|'''Status: Alive'''
|-
|'''Highlight Color: None'''
|-
|'''Nicknames: None'''
|-
|'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Kid or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
-To Be Added
4e51e234ee8958d8bc5b431fe01a6f6b6672e000
24
19
2022-11-26T05:18:32Z
Werewire
2
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castkidwithcape.png|frameless|center]]
|-
|''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"''
|-
|'''First Appearance:''' Page 1, 2/2/2022
|-
|'''Status: Alive'''
|-
|'''Highlight Color: None'''
|-
|'''Nicknames: None'''
|-
|'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Kid or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
-To Be Added
[[Category:Characters]]
1bd91eb73f5c46d65fbf2c9d86c7eb3aaa4fab6b
25
24
2022-11-26T05:19:27Z
Werewire
2
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castkidwithcape.png|frameless|center]]
|-
|''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"''
|-
|'''First Appearance:''' Page 1, 2/2/2022
|-
|'''Status: Alive'''
|-
|'''Highlight Color: None'''
|-
|'''Nicknames: None'''
|-
|'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
'''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
-To Be Added
[[Category:Characters]]
77a3b6f7d797d26a7b31139721776639162551cb
File:Ashley 248.png
6
12
21
2022-11-26T04:57:18Z
Werewire
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
User:Werewire
2
13
22
2022-11-26T05:02:14Z
Werewire
2
create user page
wikitext
text/x-wiki
{| class="wikitable"
|+
!Meeeee :3
|-
|[[File:Ashley 248.png|center|thumb|ooooo i wanna squish his cheeks so bad]]
|-
|'''Contact info Below:'''
|-
|Discord: Ichthyovenator#1917, Tumblr: Ballpitbeast
|}
Hiiii hiiii hiiiiiii
5ef60f42fb2657630c204cdca472102443616f33
File:Castashley.png
6
15
27
2022-11-26T07:33:41Z
Werewire
2
1st ashley cast image
wikitext
text/x-wiki
== Summary ==
1st ashley cast image
92c49b6bea03bce045e06ed28ef450bafdfa53a5
File:Castashleywithbow.png
6
16
28
2022-11-26T07:34:18Z
Werewire
2
2nd ashley cast image
wikitext
text/x-wiki
== Summary ==
2nd ashley cast image
1bc3f4f41ee2e97502b0601f7b899d48bf21c7ea
File:Castashleycleaned.png
6
17
29
2022-11-26T07:34:59Z
Werewire
2
3rd ashley cast image
wikitext
text/x-wiki
== Summary ==
3rd ashley cast image
92dde6e676aacd918f591a1e07fed68ccbb740c2
Ashley
0
18
30
2022-11-26T07:56:10Z
Werewire
2
basic page setup
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"Quote"''
|-
|'''First Appearance:'''
|-
|'''Status:'''
|-
|'''Highlight Color:'''
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
-To Be Added
37852eb2ce272c826e7ab05b523fb92e7c35469f
31
30
2022-11-26T07:59:55Z
Werewire
2
added some minor details
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"Quote"''
|-
|'''First Appearance:''' Page 39, 2/22/2022
|-
|'''Status:''' Alive
|-
|'''Highlight Color:''' #82007d
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
== Summary ==
-To be added
== Trivia ==
-To be added
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
-To Be Added
d45b9992d81fcec241fa86380ed7b7bd65262182
32
31
2022-11-26T08:25:27Z
Werewire
2
Trivia update
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"Quote"''
|-
|'''First Appearance:''' Page 39, 2/22/2022
|-
|'''Status:''' Alive
|-
|'''Highlight Color:''' #82007d
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
== Summary ==
-To be added
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
* https://artfight.net/character/2230960.ashley<ref name=":0" />
0f1362e158a14b73e6fdd33743123e4537d237e2
33
32
2022-11-26T08:25:55Z
Werewire
2
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"Quote"''
|-
|'''First Appearance:''' Page 39, 2/22/2022
|-
|'''Status:''' Alive
|-
|'''Highlight Color:''' #82007d
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
== Summary ==
-To be added
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
c24f442d142e6c090c27c03104db77bf6e2c74f1
34
33
2022-11-26T08:45:28Z
Werewire
2
quote addition
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"The AI got sick of us, so they’re sending us to hell now."''
|-
|'''First Appearance:''' Page 39, 2/22/2022
|-
|'''Status:''' Alive
|-
|'''Highlight Color:''' #82007d
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
== Summary ==
-To be added
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
384f536069c90a5664995b3bd55168374a167e69
35
34
2022-11-26T09:01:04Z
Werewire
2
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"The AI got sick of us, so they’re sending us to hell now."''
|-
|'''First Appearance:''' Page 39, 2/22/2022
|-
|'''Status:''' Alive
|-
|'''Highlight Color:''' #82007d
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
== Summary ==
-To be added
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
<references />
[[Category:Characters]]
310e867213857ecea036fca7bb18d6d63954b5d7
37
35
2022-11-26T09:23:32Z
Werewire
2
wikitext
text/x-wiki
{| class="wikitable"
|+
|-
!-
|-
|
[[File:Castashleycleaned.png|frameless|center]]
|-
|''"The AI got sick of us, so they’re sending us to hell now."''
|-
|'''First Appearance:''' Page 39, 2/22/2022
|-
|'''Status:''' Alive
|-
|'''Highlight Color:''' #82007d
|-
|'''Nicknames: None'''
|-
|'''Relationships:'''
|-
|'''Likes:'''
|-
|'''Dislikes:'''
|}
Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. There's a purple stain on his labcoat from a pen exploding on him.
== Summary ==
-To be added
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
<references />
[[Category:Characters]]
3ba74f4348efbebde390e595e6832e99c6b02e16
44
37
2022-11-26T21:39:47Z
Werewire
2
updated to be using a template instead
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
| summary = -To be added
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
ce65e6ea49923ee6c80e40929f96e88bad2cc345
72
44
2022-11-27T08:07:47Z
Werewire
2
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. A pen exploded on him which stained his labcoat purple.
| summary = -To be added
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
a4e6a1def63f61b7edfcdc08474afe234443b454
78
72
2022-11-27T14:19:52Z
Bunquest
6
pronouns for my little meow meow
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| pronouns = He/they
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. A pen exploded on him which stained his labcoat purple.
| summary = -To be added
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
4a94d029c631c77690c8d8267c9296ae7af2cc28
Main Page
0
1
36
23
2022-11-26T09:13:37Z
Werewire
2
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom].
=== For visitors of this wiki: ===
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Character page template|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* Highlight colors
* Images from the comics
* All the cast images
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
640ce3321f4cf2a703fadaf59046aaf4e717a5f1
45
36
2022-11-26T21:49:27Z
Werewire
2
link update since page was delete
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom].
=== For visitors of this wiki: ===
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* Highlight colors
* Images from the comics
* All the cast images
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
f39f905516e1a9dce9fa2a29b7239af845ec77a9
Template:Infobox
10
19
38
2022-11-26T18:03:09Z
PercyUK
3
Created page with "{{#invoke:Infobox|infobox}}<noinclude> Uses [[Module:Infobox|Wikipedia infobox]] {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | title = title | above = above | subheader = subheader | subheader2 = subheader2 <br> ―— | image = image | caption = caption | image2 = image2 | caption2 = caption2 <br> ―— | header1 = header1 | label2 = label2 | data2 = data..."
wikitext
text/x-wiki
{{#invoke:Infobox|infobox}}<noinclude>
Uses [[Module:Infobox|Wikipedia infobox]]
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2 <br> ―—
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2 <br> ―—
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3 <br> ―—
| below = below
}}
<pre>
{{Infobox
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; bodystyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| bodystyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; titlestyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| titlestyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| titlestyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; abovestyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| abovestyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| abovestyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; imagestyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| imagestyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| imagestyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; captionstyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| captionstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| captionstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; rowstyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| rowstyle2 = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| rowstyle2 = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; headerstyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| headerstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| headerstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; labelstyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| labelstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| labelstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; datastyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| datastyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| datastyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
<br clear=all>
; belowstyle
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 .5em 1em;
width: 270px;
border: 1px solid #eaecf0;
background: #f8f9fa;
| belowstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
<pre>
{{Infobox
| belowstyle = background:beige
| title = title
| above = above
| subheader = subheader
| subheader2 = subheader2
| image = image
| caption = caption
| image2 = image2
| caption2 = caption2
| header1 = header1
| label2 = label2
| data2 = data2
| data3 = data3
| below = below
}}
</pre>
</noinclude>
0d39f26bc4810ede55aed40e881ef49bd8cc2b48
Template:Infobox/Character page
10
20
39
2022-11-26T18:24:23Z
PercyUK
3
Created page with "{{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-ali..."
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = 1st Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Nicknames:
| data5 = {{{nicknames|}}}
| label6 = Relationships:
| data6 = {{{relationships|}}}
| label7 = Likes:
| data7 = {{{likes|}}}
| label8 = Dislikes:
| data8 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
8bfdf604f76af0d8c55ddfe8c173a694a793da5c
41
39
2022-11-26T19:00:52Z
PercyUK
3
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = 1st Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Nicknames:
| data5 = {{{nicknames|}}}
| label6 = Relationships:
| data6 = {{{relationships|}}}
| label7 = Likes:
| data7 = {{{likes|}}}
| label8 = Dislikes:
| data8 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
fe098a11e6568d2daf2d5af7487ee9840aaa0867
56
41
2022-11-27T03:04:12Z
Werewire
2
/* Gallery */ added images
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = 1st Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Nicknames:
| data5 = {{{nicknames|}}}
| label6 = Relationships:
| data6 = {{{relationships|}}}
| label7 = Likes:
| data7 = {{{likes|}}}
| label8 = Dislikes:
| data8 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|
<gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fuckign chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
c18884f1b92616c90ecb3947a68aaf2e806cc09b
57
56
2022-11-27T03:04:46Z
Werewire
2
Reverted edits by [[Special:Contributions/Werewire|Werewire]] ([[User talk:Werewire|talk]]) to last revision by [[User:PercyUK|PercyUK]]
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = 1st Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Nicknames:
| data5 = {{{nicknames|}}}
| label6 = Relationships:
| data6 = {{{relationships|}}}
| label7 = Likes:
| data7 = {{{likes|}}}
| label8 = Dislikes:
| data8 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
fe098a11e6568d2daf2d5af7487ee9840aaa0867
73
57
2022-11-27T14:01:36Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = 1st Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
708b20809236e0faa17bd8235747316a76c237a4
Template:Infobox/Character page/Example
10
21
40
2022-11-26T18:37:21Z
PercyUK
3
Created page with "{{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying be..."
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
| summary = -To be added
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Source code'''
|-
|
<pre>
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down.
| summary = -To be added
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
</pre>
|}
0496f98eb42983ec161f6ff9cc694db9318d8c53
User talk:Werewire
3
22
42
2022-11-26T19:18:09Z
PercyUK
3
Created page with "== Template:Infobox == I have added the [[Template:Infobox|Wikipedia infobox]] which you might like to use to make creating pages easier/quicker. I have created a design for [[Character page template]] with [[Template:Infobox/Character page]] with [[Template:Infobox/Character page/Example|an example using Ashley]]. I like Highlight Color so used it to color the infobox borders. I have included Notes to explain how to use. <br> ~~~~"
wikitext
text/x-wiki
== Template:Infobox ==
I have added the [[Template:Infobox|Wikipedia infobox]] which you might like to use to make creating pages easier/quicker. I have created a design for [[Character page template]] with [[Template:Infobox/Character page]] with [[Template:Infobox/Character page/Example|an example using Ashley]]. I like Highlight Color so used it to color the infobox borders. I have included Notes to explain how to use. <br> [[User:PercyUK|PercyUK]] ([[User talk:PercyUK|talk]]) 19:18, 26 November 2022 (UTC)
36ef3becd5e45a411dffacaa669f3bdaa2aee263
43
42
2022-11-26T21:32:30Z
Werewire
2
Template:Infobox reply
wikitext
text/x-wiki
== Template:Infobox ==
I have added the [[Template:Infobox|Wikipedia infobox]] which you might like to use to make creating pages easier/quicker. I have created a design for [[Character page template]] with [[Template:Infobox/Character page]] with [[Template:Infobox/Character page/Example|an example using Ashley]]. I like Highlight Color so used it to color the infobox borders. I have included Notes to explain how to use. <br> [[User:PercyUK|PercyUK]] ([[User talk:PercyUK|talk]]) 19:18, 26 November 2022 (UTC)
oh my god thank you so much for this, i honestly had no idea how to make templates and use them. i really like the highlight color useage, i was wondering if something like that was possible to do! very glad i'm not going to be stuck making that stuff manually everytime like i was going to because i couldn't wrap my head around templates and stuff<br> [[User:Werewire|Werewire]] ([[User talk:Werewire|talk]]) 21:32, 26 November 2022 (UTC)
e9d98007decdb16924afdea787b94309aeb73073
Kid
0
11
46
25
2022-11-26T22:05:37Z
Werewire
2
updated to be using a template instead
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # -->
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
== References ==
-To Be Added
[[Category:Characters]]
7727b0412c3bde501b0b6e33e345d102fbb08d63
47
46
2022-11-26T22:08:38Z
Werewire
2
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # -->
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
== References ==
-To Be Added
[[Category:Characters]]
608911333493fe29a4ac2065864bd0b635993b7d
48
47
2022-11-26T22:09:24Z
Werewire
2
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # -->
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
d07f90b94a0a06055d855e384d3856c79e010207
49
48
2022-11-26T22:15:45Z
Werewire
2
kid doesn't have a highlight color, but since for now it seems that no highlight color doesn't seem to work they'll use their cast image border color
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # --> 191919
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
a6eb91241af975cfb2ae9a2834f6d31892dbd7f7
50
49
2022-11-26T22:27:20Z
Werewire
2
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # --> 191919
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
ec7ad7e8af28c8b93944fba8e3939dd304f4ab53
75
50
2022-11-27T14:04:21Z
Bunquest
6
pronouns
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # --> 191919
| pronouns = Any
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
3a03fc93f98bdae6cbf4ece5f39091f2c8ec7b81
File:Castzellerborder.png
6
23
51
2022-11-26T22:36:26Z
Werewire
2
cast image #1?
wikitext
text/x-wiki
== Summary ==
cast image #1?
50805321feaacc78b2d3eab61d8b880f7487aeaf
Dr. Zeller
0
24
52
2022-11-26T23:51:00Z
Werewire
2
basic page setup
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = deceased
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very Little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them
| summary = -To be added
| trivia = -To be added
| gallery = -To be added
}}
798d3e70c202ea9c7fbe2af47431bf6c6702575d
58
52
2022-11-27T03:07:46Z
Werewire
2
/* Gallery */ added images to the right page this time, baby
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = deceased
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very Little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fuckign chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
816d6eba85a23b67b269287d58745f4d830b2e96
File:Zeller1.png
6
25
53
2022-11-27T02:50:24Z
Werewire
2
zeller's body from page 8
wikitext
text/x-wiki
== Summary ==
zeller's body from page 8
ac38f45183be5915b70f8d064e14134abd4e10b3
File:Yourdrawing.png
6
26
54
2022-11-27T02:53:16Z
Werewire
2
kid's drawing of zeller from page 4
wikitext
text/x-wiki
== Summary ==
kid's drawing of zeller from page 4
64c20ee490695f36d37207a122dcb62bb80959d8
File:Faceless Zeller.PNG
6
27
55
2022-11-27T03:02:40Z
Werewire
2
memory(?) of zeller from page 108
wikitext
text/x-wiki
== Summary ==
memory(?) of zeller from page 108
0faee88a7b3d4de0f58cc84765335b3d4e54437c
File:Castbass.png
6
28
59
2022-11-27T03:11:35Z
Werewire
2
1st cast image for bass
wikitext
text/x-wiki
== Summary ==
1st cast image for bass
fafbf1234ade217c1cf0a515393307dd48fd6b78
File:Castbassend.png
6
29
60
2022-11-27T03:12:57Z
Werewire
2
2nd bass cast image
wikitext
text/x-wiki
== Summary ==
2nd bass cast image
c6b180021291ad913d2adc8d25ccd369801ff9c8
File:Pg 54 panel 3.png
6
30
61
2022-11-27T04:09:20Z
Werewire
2
get fucked
wikitext
text/x-wiki
== Summary ==
get fucked
feca628f5b969ac2088080d47426e51c61a31948
File:Pg 112 panel 2.png
6
31
62
2022-11-27T04:14:11Z
Werewire
2
brian's analysis of his insecurities which are "glaringly obvious"
wikitext
text/x-wiki
== Summary ==
brian's analysis of his insecurities which are "glaringly obvious"
912ffbc4deb2250f8eb9f9af80533d58687e20b3
Stephen Bass
0
32
63
2022-11-27T04:23:29Z
Werewire
2
basic page setup with some additional info
wikitext
text/x-wiki
{{Infobox/Character page
| name = Stephen Bass
| image = Castbass.png
| quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!
| first_appearance = Page 53, 3/7/2022
| status = deceased
| highlight_color = <!-- without # --> ff0000
| nicknames = Stevie
| relationships =
| likes =
| dislikes =
| introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
| summary = -to be added
| trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
| gallery =
<gallery>
Castbassend.png|2nd cast image, can you see why i didn't use this.
Pg 54 panel 3.png|Getting hit with green ball
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
}}
f95518f4ac015b972df0b9efe816ec9ceca64f0c
64
63
2022-11-27T04:34:14Z
Sunnymatsu
5
wikitext
text/x-wiki
{{Infobox/Character page
| name = Stephen Bass
| image = Castbass.png
| quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!
| first_appearance = Page 53, 3/7/2022
| status = deceased
| highlight_color = <!-- without # --> ff0000
| nicknames = Stevie
| relationships =
| likes =
| dislikes =
| introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
| summary = -to be added
| trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
| gallery =
<gallery>
Castbassend.png|2nd cast image, can you see why i didn't use this.
Pg 54 panel 3.png|Getting hit with green ball
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
}}
bdd7b391717306c5975a7d69e22cd0b13eb98069
76
64
2022-11-27T14:05:40Z
Bunquest
6
of course you have a caved in skull and pronouns (added pronouns lol)
wikitext
text/x-wiki
{{Infobox/Character page
| name = Stephen Bass
| image = Castbass.png
| quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!
| first_appearance = Page 53, 3/7/2022
| status = deceased
| highlight_color = <!-- without # --> ff0000
| pronouns = He/him
| nicknames = Stevie
| relationships =
| likes =
| dislikes =
| introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
| summary = -to be added
| trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
| gallery =
<gallery>
Castbassend.png|2nd cast image, can you see why i didn't use this.
Pg 54 panel 3.png|Getting hit with green ball
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
}}
8a66a5dadcc0a689b453b9fdb4c534e5f59cca6f
File:Castbrian.png
6
33
65
2022-11-27T05:30:35Z
Werewire
2
1st brian cast image
wikitext
text/x-wiki
== Summary ==
1st brian cast image
cdbc17909637f99e749458de02dd9483db77136e
File:Castbrianreal.png
6
34
66
2022-11-27T05:32:53Z
Werewire
2
2nd brian cast image
wikitext
text/x-wiki
== Summary ==
2nd brian cast image
8b06f1a16369a525e776997742cd6cc1c332482e
File:Castbriancleaned.png
6
35
67
2022-11-27T05:33:23Z
Werewire
2
3rd brian cast image
wikitext
text/x-wiki
== Summary ==
3rd brian cast image
e32aafe510b39abaaddae5dd3058fd2a00ef3897
File:Castai.png
6
36
68
2022-11-27T05:46:36Z
Werewire
2
1st ai cast image
wikitext
text/x-wiki
== Summary ==
1st ai cast image
e334214d389328904c4ac79bee62b6a68724495f
File:Pg 111 panel 4.png
6
37
69
2022-11-27T05:50:23Z
Werewire
2
brian killing bass
wikitext
text/x-wiki
== Summary ==
brian killing bass
c77b945e1bfd147e30dc7ebb19592e8140c5d356
Brian
0
38
70
2022-11-27T07:52:54Z
Werewire
2
basic page setup with some additional info
wikitext
text/x-wiki
{{Infobox/Character page
| name = Brian
| image = Castbriancleaned.png
| quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter.
| first_appearance = Page 53, 3/7/2022
| status = Alive
| highlight_color = <!-- without # --> ff7d7d
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of Stephen Bass who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until Kid stole them from him on page 56. With the help of AI and the rest of the main cast they get their body back on page 85
| summary = -To be added
| trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like Ball Pit Beast, seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
| gallery =
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my body back and all i got was this shirt"
Pg 111 panel 4.png|Pipe murder win!
</gallery>
}}
4024bd424c9ebd1eeaaa0750bf558e1b8ce59c88
71
70
2022-11-27T07:56:43Z
Werewire
2
wikitext
text/x-wiki
{{Infobox/Character page
| name = Brian
| image = Castbriancleaned.png
| quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter.
| first_appearance = Page 53, 3/7/2022
| status = Alive
| highlight_color = <!-- without # --> ff7d7d
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of [[Stephen Bass]] who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him on page 56. With the help of [[The Facility's AI|AI]] and the rest of the main cast they get their body back on page 85
| summary = -To be added
| trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
| gallery =
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my body back and all i got was this shirt"
Pg 111 panel 4.png|Pipe murder win!
</gallery>
}}
3d1f3e67bb311c55929d9309f905ddd4b4f5f69f
74
71
2022-11-27T14:03:20Z
Bunquest
6
added pronouns actually for real this time
wikitext
text/x-wiki
{{Infobox/Character page
| name = Brian
| image = Castbriancleaned.png
| quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter.
| first_appearance = Page 53, 3/7/2022
| status = Alive
| highlight_color = <!-- without # --> ff7d7d
| pronouns = They/them
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of [[Stephen Bass]] who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him on page 56. With the help of [[The Facility's AI|AI]] and the rest of the main cast they get their body back on page 85
| summary = -To be added
| trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
| gallery =
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my body back and all i got was this shirt"
Pg 111 panel 4.png|Pipe murder win!
</gallery>
}}
5859771aa0a9b2551899f1316269bf078e4188dd
File:Castchantal.png
6
39
77
2022-11-27T14:08:27Z
Bunquest
6
Chantal's cast page portrait.
wikitext
text/x-wiki
== Summary ==
Chantal's cast page portrait.
51ac4fe067bdfc2040cab553d85582c7e02f8259
Chantal
0
40
79
2022-11-27T14:21:14Z
Bunquest
6
chantal :)
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantal.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = she/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs, artificial intelligence
| dislikes = Biology classes, noisy environments
| introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX.
| summary =
| trivia =
| gallery =
<gallery>
</gallery>
}}
93325d3517ffe9434f4f07324feec033ab7ce0c4
Brian
0
38
80
74
2022-11-27T14:28:00Z
108.45.54.135
0
edited gallery caption
wikitext
text/x-wiki
{{Infobox/Character page
| name = Brian
| image = Castbriancleaned.png
| quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter.
| first_appearance = Page 53, 3/7/2022
| status = Alive
| highlight_color = <!-- without # --> ff7d7d
| pronouns = They/them
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of [[Stephen Bass]] who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him on page 56. With the help of [[The Facility's AI|AI]] and the rest of the main cast they get their body back on page 85
| summary = -To be added
| trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
| gallery =
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown."
Pg 111 panel 4.png|Pipe murder win!
</gallery>
}}
ac173959be2d7ea587fd7bad571b08f30b920c09
112
80
2022-11-28T12:50:51Z
Bunquest
6
re-formatted some sections, changed some wording
wikitext
text/x-wiki
{{Infobox/Character page
| name = Brian
| image = Castbriancleaned.png
| quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter.
| first_appearance = Page 53, 3/7/2022
| status = Alive
| highlight_color = <!-- without # --> ff7d7d
| pronouns = They/them
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Brian''' is a major character in EcopportunityX. They were a friend of [[Stephen Bass]] before the events of the comic.
| summary =
===History===
Brian, unlike [[Ashley]] and [[Chantal]], did not work for EcopportunityX at all; rather, they were a friend of Bass's, having met him at a party. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him. With the help of [[The Facility's AI|AI]] and the rest of the group they get their body back.
| trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
| gallery =
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown."
Pg 111 panel 4.png|Pipe murder win!
</gallery>
}}
9a794806e798c843f182a3b8ab5625d97d16fac2
Stephen Bass
0
32
81
76
2022-11-27T14:29:28Z
108.45.54.135
0
changed gallery image caption
wikitext
text/x-wiki
{{Infobox/Character page
| name = Stephen Bass
| image = Castbass.png
| quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!
| first_appearance = Page 53, 3/7/2022
| status = deceased
| highlight_color = <!-- without # --> ff0000
| pronouns = He/him
| nicknames = Stevie
| relationships =
| likes =
| dislikes =
| introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
| summary = -to be added
| trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
| gallery =
<gallery>
Castbassend.png|His latest cast image. You can hazard to guess why it wasn't used.
Pg 54 panel 3.png|Getting hit with green ball
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
}}
49fbf5369e01ae5af125470f2ccc5e69a472f240
82
81
2022-11-27T14:30:40Z
108.45.54.135
0
wikitext
text/x-wiki
{{Infobox/Character page
| name = Stephen Bass
| image = Castbass.png
| quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!
| first_appearance = Page 53, 3/7/2022
| status = deceased
| highlight_color = <!-- without # --> ff0000
| pronouns = He/him
| nicknames = Stevie
| relationships =
| likes =
| dislikes =
| introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
| summary = -to be added
| trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
| gallery =
<gallery>
Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used.
Pg 54 panel 3.png|Getting hit with green ball
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
}}
f66866c2636ce894267c543e8cba9e1a350195a8
116
82
2022-11-28T12:59:01Z
Bunquest
6
tweaked formatting + wording
wikitext
text/x-wiki
{{Infobox/Character page
| name = Stephen Bass
| image = Castbass.png
| quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!
| first_appearance = Page 53, 3/7/2022
| status = deceased
| highlight_color = <!-- without # --> ff0000
| pronouns = He/him
| nicknames = Stevie
| relationships =
| likes =
| dislikes =
| introduction = '''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility.
| summary = Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
| trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
| gallery =
<gallery>
Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used.
Pg 54 panel 3.png|Getting hit with green ball
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
}}
c49f318187052d8cbeef9827e92f135980e0c391
Dr. Zeller
0
24
83
58
2022-11-27T14:46:25Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = deceased
| pronouns = He/they
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very Little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fuckign chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
4d74ea497a0d23bfd1748d32b7156b58d1d9d0ab
85
83
2022-11-27T15:02:08Z
Bunquest
6
fixed a couple of typos
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = deceased
| pronouns = He/they
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fucking chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
33408357b2bb5cdd2bb3ea896ae4de2b75dd1583
Chantal
0
40
84
79
2022-11-27T14:56:39Z
Bunquest
6
more chantal :)
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantal.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
| trivia =
| gallery =
<gallery>
</gallery>
}}
403942b148dee2d6e36389e56fd6e46fedae4747
86
84
2022-11-27T20:46:58Z
Bunquest
6
added summary sections
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantal.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
| trivia =
| gallery =
<gallery>
</gallery>
}}
355ac3c4acc178a13480e78c6a33827495a0965a
94
86
2022-11-27T21:15:41Z
Werewire
2
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
| trivia =
| gallery =
<gallery>
Castchantal.png|1st cast image
</gallery>
}}
7411b5f96a5cb2f3ee5508c972ae8f81c45bb29e
104
94
2022-11-28T08:15:48Z
Bunquest
6
updated gallery caption
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
5c6941e830d99bc9a5bfdae1eed09384420ba6b9
106
104
2022-11-28T08:49:14Z
Bunquest
6
added more to summary
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Facility===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
7c2b0180f1276c8460f6124140ccc926d6092fb7
108
106
2022-11-28T09:00:05Z
Bunquest
6
fixed hp embed
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Facility===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
bacfaec1c84e24d3bc99271dbef66ce5353ef403
109
108
2022-11-28T12:33:56Z
Bunquest
6
added more to summary
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ‘’”I got better once I started taking computer science classes!”’’.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
7bc87405cdd8714e2b837681b0d7092adaf89eac
110
109
2022-11-28T12:34:29Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
e85183706e3720b73ecbd86396ab914b25a5f268
111
110
2022-11-28T12:35:17Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist who worked in the third floor offices.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
2e7f0a78ef9a08bd71f24bd8a015cbd0040d4552
114
111
2022-11-28T12:55:01Z
Bunquest
6
wording tweaks
wikitext
text/x-wiki
{{Infobox/Character page
| name = Chantal
| image = Castchantalwithbow.png
| quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up.
| first_appearance = Page 77, 3/31/2022
| status = alive
| pronouns = She/they
| highlight_color = <!-- without # --> 0000ff
| nicknames =
| relationships = Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref>
| dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref>
| introduction = '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic.
| summary =
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
| trivia =
| gallery =
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
}}
b3ae12baa9c7af598ffae62540e650d47e4f316a
127
114
2022-11-28T17:41:04Z
Bunquest
6
fixed formatting + colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #82007d;
border-collapse: collapse;
| abovestyle =
background: #82007d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #0000ff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #0000ff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]]
| data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up."
| label2 = First Appearance:
| data2 = Page 77, 3/31/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 0000ff
| label5 = Pronouns:
| data5 = She/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic.
== Summary ==
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
== Trivia ==
== Gallery ==
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
== References ==
<references />
[[Category:Characters]]
7ef8b39fdaa7b3a55928150fb465a4c38e8f5521
128
127
2022-11-28T17:41:26Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #0000ff;
border-collapse: collapse;
| abovestyle =
background: #82007d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #0000ff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #0000ff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]]
| data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up."
| label2 = First Appearance:
| data2 = Page 77, 3/31/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 0000ff
| label5 = Pronouns:
| data5 = She/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic.
== Summary ==
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
== Trivia ==
== Gallery ==
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
== References ==
<references />
[[Category:Characters]]
aede2c7c4a466244b8923993f40e07f450d3695c
129
128
2022-11-28T17:41:44Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #0000ff;
border-collapse: collapse;
| abovestyle =
background: #0000ff;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #0000ff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #0000ff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]]
| data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up."
| label2 = First Appearance:
| data2 = Page 77, 3/31/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 0000ff
| label5 = Pronouns:
| data5 = She/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic.
== Summary ==
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
== Trivia ==
== Gallery ==
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
== References ==
<references />
[[Category:Characters]]
e92d79bc4354d5ca39edb8e7155d57fa9941b1cb
Main Page
0
1
87
45
2022-11-27T20:52:04Z
Bunquest
6
edited headings
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom].
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* Highlight colors
* Images from the comics
* All the cast images
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
75444816757121e552db641327e82f98d478e0ba
Higher Power (HP)
0
41
88
2022-11-27T20:56:05Z
Bunquest
6
made tha page. will add more later. if someone could add their icon thag would be gr8
wikitext
text/x-wiki
{{Infobox/Character page
| name = Higher Power
| image =
| quote = Hi! I’m God!
| first_appearance = Page 90, 4/13/2022
| status = alive
| pronouns = Any
| highlight_color = <!-- without # --> 000000
| nicknames = HP
| relationships =
| likes =
| dislikes =
| introduction =
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
</gallery>
}}
10faf5162e4afad3291e85d767e7f1f58e33f7e7
89
88
2022-11-27T20:56:32Z
Bunquest
6
fixed the hex code
wikitext
text/x-wiki
{{Infobox/Character page
| name = Higher Power
| image =
| quote = Hi! I’m God!
| first_appearance = Page 90, 4/13/2022
| status = alive
| pronouns = Any
| highlight_color = <!-- without # --> ffffff
| nicknames = HP
| relationships =
| likes =
| dislikes =
| introduction =
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
</gallery>
}}
3416d2eeb677562fdf72019f85721c21b7bb2df3
91
89
2022-11-27T21:10:17Z
Werewire
2
imagechamp
wikitext
text/x-wiki
{{Infobox/Character page
| name = Higher Power
| image = Casthp.png
| quote = Hi! I’m God!
| first_appearance = Page 90, 4/13/2022
| status = alive
| pronouns = Any
| highlight_color = <!-- without # --> ffffff
| nicknames = HP
| relationships =
| likes =
| dislikes =
| introduction =
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
</gallery>
}}
68e0162334adf062be63199923924448a9fbb981
File:Casthp.png
6
42
90
2022-11-27T21:02:56Z
Werewire
2
hp's one and only cast image
wikitext
text/x-wiki
== Summary ==
hp's one and only cast image
52a5e3fc0d9ebf83d37e67e605ef2ed93011c91a
File:Castchantal.png
6
39
92
77
2022-11-27T21:14:21Z
Werewire
2
Werewire uploaded a new version of [[File:Castchantal.png]]
wikitext
text/x-wiki
== Summary ==
Chantal's cast page portrait.
51ac4fe067bdfc2040cab553d85582c7e02f8259
File:Castchantalwithbow.png
6
43
93
2022-11-27T21:14:31Z
Werewire
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Castaireal.png
6
44
95
2022-11-27T21:16:43Z
Werewire
2
ai's second cast image
wikitext
text/x-wiki
== Summary ==
ai's second cast image
d4b4836365f11c505d71a98fc23260c888772394
File:Castballpitbeastbow.png
6
45
96
2022-11-27T21:17:32Z
Werewire
2
bpb second cast image
wikitext
text/x-wiki
== Summary ==
bpb second cast image
e626bfb4a658b1c777485001e8a9bf1b0d0e4433
File:Castballpitbeast.png
6
46
97
2022-11-27T21:18:19Z
Werewire
2
1st bpb cast image
wikitext
text/x-wiki
== Summary ==
1st bpb cast image
50bd147ff153a2fdf0a3b4712c18cc709b106985
File:Castdaisy.png
6
47
98
2022-11-27T21:20:35Z
Werewire
2
daisy 2nd cast image
wikitext
text/x-wiki
== Summary ==
daisy 2nd cast image
653290ef0336b661de3c7ab7966e281f42c346cc
File:Castrobot.png
6
48
99
2022-11-27T21:22:24Z
Werewire
2
daisy 1st cast image
wikitext
text/x-wiki
== Summary ==
daisy 1st cast image
c6ee85e133f973e1505289acdf8e135b61c3a404
The Facility's AI
0
49
100
2022-11-28T02:01:28Z
Werewire
2
basic page setup
wikitext
text/x-wiki
{{Infobox/Character page
| name = AI
| image = Castaireal.png
| quote = I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right.
| first_appearance =
| status = Alive
| highlight_color = <!-- without # --> 191919
| pronouns = Any
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''The Facility's AI''' was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being [[Stephen Bass|Bass]].
| summary = -To be added
| trivia = -To be added
| gallery =
<gallery>
Castai.png|AI in Brian's body
</gallery>
}}
87e55edd095a7a277eb4b2e36c2395ebe3fd8e62
Template:Infobox/Character page
10
20
101
73
2022-11-28T07:22:38Z
Werewire
2
added the pronouns section that lauren added to the empty template
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = 1st Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
7e1a2ee1d2c0c366452a552016905731af8982fb
117
101
2022-11-28T13:46:20Z
Bunquest
6
trying to set up text colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color, alpha) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
if (alpha) {
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
} else {
return `rgb(${r}, ${g}, ${b})`;
}
}
color: if (r*0.299 + g*0.587 + b*0.114) > 186 use #000000 else use #ffffff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
/*| label8 = Likes:*/
/*| data8 = {{{likes|}}}*/
/*| label9 = Dislikes:*/
/*| data9 = {{{dislikes|}}}*/
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
9c9ead240ef72472635966c0af4bbd38f51d26a9
118
117
2022-11-28T13:46:56Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
color: white;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color, alpha) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
if (alpha) {
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
} else {
return `rgb(${r}, ${g}, ${b})`;
}
}
color: if (r*0.299 + g*0.587 + b*0.114) > 186 use #000000 else use #ffffff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
0ca7443b91023799a2b291b31aca088d98dedd22
119
118
2022-11-28T13:48:42Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color, alpha) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
if (alpha) {
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
} else {
return `rgb(${r}, ${g}, ${b})`;
}
}
color: if (r*0.299 + g*0.587 + b*0.114) > 186 use #000000 else use #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
fbab20341655ab9d2fb2513540a2afa44d172996
120
119
2022-11-28T13:50:15Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color, alpha) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
if (alpha) {
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
} else {
return `rgb(${r}, ${g}, ${b})`;
}
}
color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000 else use #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
fe76cdb0c54d0928b7e77c306a50a4e5c30aa5a9
122
120
2022-11-28T16:00:37Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
return `rgb(${r}, ${g}, ${b})`;
}
color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
| label5 = Pronouns:
| data5 = {{{pronouns|}}}
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = {{{relationships|}}}
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
51c1166d1c72af1292c65c216ebbc09a3db665a0
Ball Pit Beast
0
50
102
2022-11-28T07:49:05Z
Werewire
2
basic page setup with some additional info
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ball Pit Beast
| image = Castballpitbeastbow.png
| quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW!
| first_appearance = Page 31, 2/15/2022
| status = Alive
| highlight_color = <!-- without # --> 00ff00
| pronouns = Any
| nicknames = BPB
| relationships =
| likes = Ball Pits
| dislikes =
| introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which HP confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has a affinity for ball pits and speaks oddly.
| summary = -To be added
| trivia = No one seems to know what Ball Pit Beast "is" as HP claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>.
| gallery =
<gallery>
Castballpitbeast.png|BPB's 1st cast image
</gallery>
}}
22f6f321f8f5d34dbcd3e4ebe628a42c01306d7d
103
102
2022-11-28T07:51:59Z
Werewire
2
character page link update. i forgor
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ball Pit Beast
| image = Castballpitbeastbow.png
| quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW!
| first_appearance = Page 31, 2/15/2022
| status = Alive
| highlight_color = <!-- without # --> 00ff00
| pronouns = Any
| nicknames = BPB
| relationships =
| likes = Ball Pits
| dislikes =
| introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which [[Higher Power (HP)|HP]] confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has a affinity for ball pits and speaks oddly.
| summary = -To be added
| trivia = No one seems to know what Ball Pit Beast "is" as [[Higher Power (HP)|HP]] claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>.
| gallery =
<gallery>
Castballpitbeast.png|BPB's 1st cast image
</gallery>
}}
54d991bbc44d1ba736251eb98776d7cb9e5343f4
Daisy
0
51
105
2022-11-28T08:40:51Z
Werewire
2
basic page setup with additional info
wikitext
text/x-wiki
{{Infobox/Character page
| name = Daisy
| image = Castdaisy.png
| quote =
| first_appearance = Page 9, 2/4/2022
| status = Alive
| highlight_color = <!-- without # --> ff8000
| pronouns = Any
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = Daisy is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows kid and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>.
| summary = -To be added
| trivia = Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref>
| gallery =
<gallery>
Castrobot.png|Daisy's First cast image
</gallery>
}}
d19296743d0438785a1a6f0ae1cb9a67b35e13f3
Category:Characters
14
52
107
2022-11-28T08:59:26Z
Werewire
2
Created page with "This category contains an alphabetical list of all the characters in EcopportunityX This category includes everyone on the [https://ecopportunityx.cfw.me/cast/ cast] page as a character, so even though you might not count [[Daisy]] as a character due to her being a robot who cannot speak in any capacity, since she's on the cast page she is here."
wikitext
text/x-wiki
This category contains an alphabetical list of all the characters in EcopportunityX
This category includes everyone on the [https://ecopportunityx.cfw.me/cast/ cast] page as a character, so even though you might not count [[Daisy]] as a character due to her being a robot who cannot speak in any capacity, since she's on the cast page she is here.
2a56bbec6b8833881c4bf7202de59f84c979d8ca
Ashley
0
18
113
78
2022-11-28T12:52:59Z
Bunquest
6
tweaked formatting + wording
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| pronouns = He/they
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist prior to the events of the comic.
| summary = A pen exploded on him which stained his labcoat purple.
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
e24a51be7245ecafa2ba9aaf16cf1d6618e4b8ae
115
113
2022-11-28T12:56:22Z
Bunquest
6
added floor info
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ashley
| image = Castashleycleaned.png
| quote = The AI got sick of us, so they’re sending us to hell now.
| first_appearance = Page 39, 2/22/2022
| status = Alive
| highlight_color = <!-- without # --> 82007d
| pronouns = He/they
| nicknames = None
| relationships =
| likes =
| dislikes =
| introduction = '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic.
| summary = A pen exploded on him which stained his labcoat purple.
| trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
| gallery =
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
}}
5f9280ed91d22dce1e9b0c3566ba81b23fe90bd4
125
115
2022-11-28T17:36:49Z
Bunquest
6
fixed formatting + colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #82007d;
border-collapse: collapse;
| abovestyle =
background: #82007d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #82007d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #82007d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castashleycleaned.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 82007d
| label5 = Pronouns:
| data5 = He/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = Dr. Zeller (Former boss)
Kid, Daisy, Brian, Chantal (Friends)
Stephen Bass (Former boss)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic.
== Summary ==
A pen exploded on him which stained his labcoat purple.
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
<references />
[[Category:Characters]]
246415a61399b3bfc0792e087de783eea45ac227
126
125
2022-11-28T17:37:14Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #82007d;
border-collapse: collapse;
| abovestyle =
background: #82007d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #82007d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #82007d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castashleycleaned.png|frameless|200px|center|link=]]
| data1 = "The AI got sick of us, so they’re sending us to hell now."
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 82007d
| label5 = Pronouns:
| data5 = He/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = Dr. Zeller (Former boss)
Kid, Daisy, Brian, Chantal (Friends)
Stephen Bass (Former boss)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic.
== Summary ==
A pen exploded on him which stained his labcoat purple.
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
<references />
[[Category:Characters]]
d706cd9363100cd589e0b041b50698acc17f1a1d
Kid
0
11
121
75
2022-11-28T15:56:53Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox/Character page
| name = Kid
| color = ffffff
| image = Castkidwithcape.png
| quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!
| first_appearance = Page 1, 2/2/2022
| status = Alive
| highlight_color = <!-- without # --> 191919
| pronouns = Any
| nicknames = None
| relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend)
| likes =
| dislikes =
| introduction = '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
| summary = -To be added
| trivia = -To be added
| gallery = <gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
}}
86ae0fff77e9bbc142b20f4758791e38a231d37c
123
121
2022-11-28T16:12:50Z
Bunquest
6
trying to fix colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = Dr. Zeller (Friend, former caretaker)
Daisy, Ball Pit Beast, Ashley, Brian, Chantal, AI, HP (Friends)
Stephen Bass (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
==Introduction==
'''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
<references />
[[Category:Characters]]
8087991996f80e1cb6a1f1404980adbc9ca1be13
124
123
2022-11-28T17:32:58Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = Dr. Zeller (Friend, former caretaker)
Daisy, Ball Pit Beast, Ashley, Brian, Chantal, AI, HP (Friends)
Stephen Bass (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
<references />
[[Category:Characters]]
69b7954d8740ec0aadaf374840a2aeab3c29f07a
Brian
0
38
130
112
2022-11-28T17:53:26Z
Bunquest
6
fixed formatting + colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff7d7d;
border-collapse: collapse;
| abovestyle =
background: #ff7d7d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff7d7d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff7d7d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castbriancleaned.png|frameless|200px|center|link=]]
| data1 = "Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter."
| label2 = First Appearance:
| data2 = Page 53, 3/7/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff7d7d
| label5 = Pronouns:
| data5 = They/them
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = Stephen Bass (Former friend, enemy)
Kid, Daisy, Ashley, Chantal, Ballpit Beast (Friends)
Facility AI (enemy, one-sided)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Brian''' is a major character in EcopportunityX. They were a friend of [[Stephen Bass]] prior to the events of the comic.
== Summary ==
Brian, unlike [[Ashley]] and [[Chantal]], did not work for EcopportunityX at all; rather, they were a friend of Bass's, having met him at a party. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him. With the help of [[The Facility's AI|AI]] and the rest of the group they get their body back.
== Trivia ==
* In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
== Gallery ==
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown."
Pg 111 panel 4.png|Pipe murder win!
</gallery>
== References ==
<references />
[[Category:Characters]]
ae274df85ca291e12f83d5684c4ca0a4f214bc5c
146
130
2022-12-27T06:07:48Z
Werewire
2
character page links added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff7d7d;
border-collapse: collapse;
| abovestyle =
background: #ff7d7d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff7d7d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff7d7d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castbriancleaned.png|frameless|200px|center|link=]]
| data1 = "Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter."
| label2 = First Appearance:
| data2 = Page 53, 3/7/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff7d7d
| label5 = Pronouns:
| data5 = They/them
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = [[Stephen Bass]] (Former friend, enemy)
[[Kid]], [[Daisy]], [[Ashley]], [[Chantal]], [[Ball Pit Beast|Ballpit Beast]] (Friends)
[[The Facility's AI|Facility AI]] (enemy, one-sided)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Brian''' is a major character in EcopportunityX. They were a friend of [[Stephen Bass]] prior to the events of the comic.
== Summary ==
Brian, unlike [[Ashley]] and [[Chantal]], did not work for EcopportunityX at all; rather, they were a friend of Bass's, having met him at a party. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him. With the help of [[The Facility's AI|AI]] and the rest of the group they get their body back.
== Trivia ==
* In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref>
* The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup>
* Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref>
== Gallery ==
<gallery>
Castbrian.png|Brain in a jar form
Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown."
Pg 111 panel 4.png|Pipe murder win!
</gallery>
== References ==
<references />
[[Category:Characters]]
b33b7cce369c0f24c53fabf3d5a379ad3b61f88d
Stephen Bass
0
32
131
116
2022-11-28T17:59:43Z
Bunquest
6
fixed formatting + colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff0000;
border-collapse: collapse;
| abovestyle =
background: #ff0000;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff0000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff0000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castbass.png|frameless|200px|center|link=]]
| data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!"
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff0000
| label5 = Pronouns:
| data5 = He/him
| label6 = Nicknames:
| data6 = Stevie
| label7 = Relationships:
| data7 = Dr. Zeller (Subordinate)
Brian (Former friend)
Ashley, Chantal (Employees)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility.
== Summary ==
Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
== Trivia ==
* Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
== Gallery ==
<gallery>
Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used.
Pg 54 panel 3.png|FUCKING SHIT JACKASS!
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
== References ==
<references />
[[Category:Characters]]
a04ae4865e2a326c9c241d414963b609e0f9b397
142
131
2022-12-27T01:53:05Z
Werewire
2
character page links added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff0000;
border-collapse: collapse;
| abovestyle =
background: #ff0000;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff0000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff0000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castbass.png|frameless|200px|center|link=]]
| data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!"
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff0000
| label5 = Pronouns:
| data5 = He/him
| label6 = Nicknames:
| data6 = Stevie
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Subordinate)
[[Brian]] (Former friend)
[[Ashley]], [[Chantal]] (Employees)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility.
== Summary ==
Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
== Trivia ==
* Bass attempted to use [[Brian]]'s phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about [[Dr. Zeller]] since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
== Gallery ==
<gallery>
Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used.
Pg 54 panel 3.png|FUCKING SHIT JACKASS!
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
== References ==
<references />
[[Category:Characters]]
981c90244de5ce69fe6da7bbf810e6c0a7040a6f
Higher Power (HP)
0
41
132
91
2022-11-28T18:03:37Z
Bunquest
6
fixed formatting + colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ffffff;
border-collapse: collapse;
| abovestyle =
background: #ffffff;
color: #000000;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ffffff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ffffff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Casthp.png|frameless|200px|center|link=]]
| data1 = "Hi! I’m God!"
| label2 = First Appearance:
| data2 = Page 90, 4/13/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ffffff
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = HP (used by default)
| label7 = Relationships:
| data7 = AI, Kid (Friends)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
== Summary ==
== Trivia ==
== Gallery ==
<gallery>
</gallery>
== References ==
<references />
[[Category:Characters]]
e44cf7efebf3b795a2a184acc55585a105844556
144
132
2022-12-27T02:12:26Z
Werewire
2
character page links added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ffffff;
border-collapse: collapse;
| abovestyle =
background: #ffffff;
color: #000000;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ffffff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ffffff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Casthp.png|frameless|200px|center|link=]]
| data1 = "Hi! I’m God!"
| label2 = First Appearance:
| data2 = Page 90, 4/13/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ffffff
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = HP (used by default)
| label7 = Relationships:
| data7 = [[The Facility's AI|AI]], [[Kid]] (Friends)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
== Summary ==
== Trivia ==
== Gallery ==
<gallery>
</gallery>
== References ==
<references />
[[Category:Characters]]
cda64548ddc3f0462ce1b1f7855a93fe266de74f
Daisy
0
51
133
105
2022-11-28T18:13:20Z
Bunquest
6
fixed formatting + colours
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff8000;
border-collapse: collapse;
| abovestyle =
background: #ff8000;
color: #000000;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff8000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff8000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castdaisy.png|frameless|200px|center|link=]]
| data1 =
| label2 = First Appearance:
| data2 = Page 9, 2/4/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff8000
| label5 = Pronouns:
| data5 = Any (primarily she/it)
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Daisy''' is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows kid and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>.
== Summary ==
== Trivia ==
* Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref>
== Gallery ==
<gallery>
Castrobot.png|Daisy's First cast image
</gallery>
== References ==
<references />
[[Category:Characters]]
17cf8c2e6fbe09c51061305476a4674841a98885
Chantal
0
40
134
129
2022-11-28T19:18:53Z
Bunquest
6
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #0000ff;
border-collapse: collapse;
| abovestyle =
background: #0000ff;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #0000ff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #0000ff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]]
| data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up."
| label2 = First Appearance:
| data2 = Page 77, 3/31/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 0000ff
| label5 = Pronouns:
| data5 = She/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
Kid, Ashley, Brian, Daisy (Friends)
Stephen Bass (Former boss)
An unnamed sister
Unnamed parents
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic.
== Summary ==
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
== Trivia ==
== Gallery ==
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
== References ==
<references />
[[Category:Characters]]
d5156976418a3c43e9d2dce4c15aa8647150fc58
147
134
2022-12-27T06:33:34Z
Werewire
2
character page links added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #0000ff;
border-collapse: collapse;
| abovestyle =
background: #0000ff;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #0000ff;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #0000ff;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]]
| data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up."
| label2 = First Appearance:
| data2 = Page 77, 3/31/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 0000ff
| label5 = Pronouns:
| data5 = She/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
[[Kid]], [[Ashley]], [[Brian]], [[Daisy]] (Friends)
[[Stephen Bass]] (Former boss)
An unnamed sister
Unnamed parents
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic.
== Summary ==
===Working at EcopportunityX===
Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>.
===The Incident===
Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles.
Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>.
===Escaping the Tower===
Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass.
Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group.
While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own.
The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''.
HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian.
== Trivia ==
== Gallery ==
<gallery>
Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22)
</gallery>
== References ==
<references />
[[Category:Characters]]
28a40e169d0554b559a87420e3d5ce1fedf95710
Main Page
0
1
135
87
2022-12-01T09:13:27Z
Werewire
2
/* For visitors of this wiki: */ showing what is done by crossing it from the list
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom].
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
b96e3d934d1c5d2a87e594f17b6ed4b60248ddaf
152
135
2023-02-05T07:47:29Z
Werewire
2
sprucing up the main page
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 2nd Feb 2023, 8:14 PM
[https://ecopportunityx.cfw.me/comics/ Page 136]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
dcbea2154c5bdd111350d1d0452677f6434f02d1
EcopportunityX - Escape The Wiki:About
4
53
136
2022-12-03T06:58:08Z
Werewire
2
created about page with information and rules
wikitext
text/x-wiki
== Rules ==
The EcopportunityX Wiki does not have many rules besides
# Follow [https://meta.miraheze.org/wiki/Special:MyLanguage/Terms_of_Use Miraheze's TOS]
# No Vandalism (Obviously)
# Keep the wiki HELPFUL to other people, which means no fancy text that can't be read by screenreaders and no hiding text by making it the same color as the background, stuff like that. A guide on text color contrast can be found [https://developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast here]
== Wiki Content ==
As stated on the [[Main_Page|main page]] content inside this wiki will be:
* Basic Plot summaries
* Personality
* Relationships
* Highlight colors
* Images from the comics
* All the cast images
'''The wiki does not have strict guidelines on captioning gallery images besides:'''
# If it is a cast image PLEASE say which number it is either on the character's page itself or on the image's comment, as is the case with [[Brian#Gallery|brian's cast images.]]
Otherwise the basic guidelines are, in no particular order:
* Have fun.
* Make them funny if you'd like but it may get edited to be unrecognizable from before or removed if its "cringe" or contains inaccuracies.
* For now you will have to copy the code from an existing page when adding new characters or copy/paste from below, as we don't have proper templates set up anymore due to changes done by my beloved admin Bunquest. (Well we have them but adjustments have been made to them etc etc so its set up weird right now, if you look at it you'll understand.)
<br></br>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff7d7d;
border-collapse: collapse;
| abovestyle =
background: #ff7d7d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff7d7d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff7d7d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Cast(whoever).png|frameless|200px|center|link=]]
| data1 = "Quote here!"
| label2 = First Appearance:
| data2 = Page #, (Date here, formatted Month/Day/Year)
| label3 = Status:
| data3 =
| label4 = Highlight Color:
| data4 =
| label5 = Pronouns:
| data5 =
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
(Introduction here)
== Summary ==
== Trivia ==
* (Use bulleted text here)
== Gallery ==
<gallery>
</gallery>
== References ==
<references />
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray (Do not include a # in the hex code)
* template adds page to <code>Character</code> category
* We are no longer using the likes and dislikes sections, leave them BLANK.
* Remember to adhere to rule three if changing the top text of the infobox color to a different color for readability purposes.
|}
10717773bcf10ff77a88c7d7f28b2c893f3f0de8
143
136
2022-12-27T02:04:15Z
Werewire
2
rule added
wikitext
text/x-wiki
== Rules ==
The EcopportunityX Wiki does not have many rules besides
# Follow [https://meta.miraheze.org/wiki/Special:MyLanguage/Terms_of_Use Miraheze's TOS]
# No Vandalism (Obviously)
# Keep the wiki HELPFUL to other people, which means no fancy text that can't be read by screenreaders and no hiding text by making it the same color as the background, stuff like that. A guide on text color contrast can be found [https://developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast here]
# No using private sources such as discord, as this was [https://imgur.com/a/9oUZpzr a request by the creator of the comic themself]. Please ensure your sources are publicly accessible or they will be removed.
== Wiki Content ==
As stated on the [[Main_Page|main page]] content inside this wiki will be:
* Basic Plot summaries
* Personality
* Relationships
* Highlight colors
* Images from the comics
* All the cast images
'''The wiki does not have strict guidelines on captioning gallery images besides:'''
# If it is a cast image PLEASE say which number it is either on the character's page itself or on the image's comment, as is the case with [[Brian#Gallery|brian's cast images.]]
Otherwise the basic guidelines are, in no particular order:
* Have fun.
* Make them funny if you'd like but it may get edited to be unrecognizable from before or removed if its "cringe" or contains inaccuracies.
* For now you will have to copy the code from an existing page when adding new characters or copy/paste from below, as we don't have proper templates set up anymore due to changes done by my beloved admin Bunquest. (Well we have them but adjustments have been made to them etc etc so its set up weird right now, if you look at it you'll understand.)
<br></br>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff7d7d;
border-collapse: collapse;
| abovestyle =
background: #ff7d7d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff7d7d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff7d7d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Cast(whoever).png|frameless|200px|center|link=]]
| data1 = "Quote here!"
| label2 = First Appearance:
| data2 = Page #, (Date here, formatted Month/Day/Year)
| label3 = Status:
| data3 =
| label4 = Highlight Color:
| data4 =
| label5 = Pronouns:
| data5 =
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
(Introduction here)
== Summary ==
== Trivia ==
* (Use bulleted text here)
== Gallery ==
<gallery>
</gallery>
== References ==
<references />
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray (Do not include a # in the hex code)
* template adds page to <code>Character</code> category
* We are no longer using the likes and dislikes sections, leave them BLANK.
* Remember to adhere to rule three if changing the top text of the infobox color to a different color for readability purposes.
|}
4caab79efe8161730b028f6c3b39b2a2493423e9
Template:Header/doc
10
77
197
2022-12-16T04:40:31Z
dev>Pppery
0
8 revisions imported from [[:meta:Template:Header/doc]]
wikitext
text/x-wiki
{{documentation subpage}}
==Usage==
<pre>
{{header
| title =
| shortcut =
| notes =
| topbarhex =
| bodyhex =
| titlecolor =
| bodycolor =
}}
</pre>
===Relative links===
On pages with many subpages, using [[m:Help:Link#Subpage_feature|relative links]] is highly recommended. This shortens the code and ensures that pages remain linked together, even if the overall system is moved or reorganised. The three formats are <nowiki>[[/subpage]]</nowiki> (subpage), <nowiki>[[../]]</nowiki> (parent), and <nowiki>[[../sibling]]</nowiki> (sibling); see the example usage below. Note that <nowiki>[[../]]</nowiki> will expand to the title of the parent page, which is ideal if the page is renamed at a later time.
==See also==
{{#lst:Template:Template list|header-templates}}
5765ffdddc2682eb2227083ebcc24a126128ac5d
Template:Header
10
58
159
2022-12-16T04:46:16Z
dev>Pppery
0
wikitext
text/x-wiki
{| style="width: 100% !important;"
|-
| style="border-top: 4px solid #{{{topbarhex|6F6F6F}}}; background-color: #{{{bodyhex|F6F6F6}}}; padding: 10px 15px;" | {{#if:{{{shortcut|}}}| {{shortcut|{{{shortcut|uselang={{{uselang|{{CURRENTCONTENTLANGUAGE}}}}}}}}}}}}<div style="font-size:180%; text-align: left; color: {{{titlecolor|}}}">'''{{{title|{{{1|{{BASEPAGENAME}}}}}}}}'''</div>
<div style="padding-top:0.3em; padding-bottom:0.1em; font-size:100%; text-align: left; color: {{{bodycolor|}}}">{{{notes|Put some notes here!}}}</div>
|-
| style="height: 10px" |
|}
{{clear}}<noinclude>{{documentation}}[[Category:templates]]</noinclude>
03aac86137ab11bfccbcceb2de919475af2953dd
160
159
2023-03-30T08:29:39Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{| style="width: 100% !important;"
|-
| style="border-top: 4px solid #{{{topbarhex|6F6F6F}}}; background-color: #{{{bodyhex|F6F6F6}}}; padding: 10px 15px;" | {{#if:{{{shortcut|}}}| {{shortcut|{{{shortcut|uselang={{{uselang|{{CURRENTCONTENTLANGUAGE}}}}}}}}}}}}<div style="font-size:180%; text-align: left; color: {{{titlecolor|}}}">'''{{{title|{{{1|{{BASEPAGENAME}}}}}}}}'''</div>
<div style="padding-top:0.3em; padding-bottom:0.1em; font-size:100%; text-align: left; color: {{{bodycolor|}}}">{{{notes|Put some notes here!}}}</div>
|-
| style="height: 10px" |
|}
{{clear}}<noinclude>{{documentation}}[[Category:templates]]</noinclude>
03aac86137ab11bfccbcceb2de919475af2953dd
The Facility's AI
0
49
137
100
2022-12-26T07:36:17Z
Werewire
2
updated page onto new template
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castaireal.png|frameless|200px|center|link=https://ecopportunityx.miraheze.org/wiki/File:Castaireal.png]]
| data1 = "I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right."
| label2 = First Appearance:
| data2 = Page #17, 2/8/2022. Introduced Page #84 4/7/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = #191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
The Facility's AI was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being Bass.
== Summary ==
-To Be added
== Trivia ==
* To be added
== Gallery ==
<gallery>
Castai.png|AI in Brian's body
</gallery>
== References ==
<references />
9720793b820ce656e41b2bf3b13f450b20e407cb
138
137
2022-12-26T07:37:41Z
Werewire
2
link updates
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castaireal.png|frameless|200px|center|link=https://ecopportunityx.miraheze.org/wiki/File:Castaireal.png]]
| data1 = "I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right."
| label2 = First Appearance:
| data2 = Page #17, 2/8/2022. Introduced Page #84 4/7/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = #191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
The Facility's AI was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being [[Stephen Bass|Bass]].
== Summary ==
-To Be added
== Trivia ==
* To be added
== Gallery ==
<gallery>
Castai.png|AI in Brian's body
</gallery>
== References ==
<references />
3ad1ac9759160163b6c80df7cf1d64be59e717ba
141
138
2022-12-27T00:58:43Z
Werewire
2
added category
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castaireal.png|frameless|200px|center|link=https://ecopportunityx.miraheze.org/wiki/File:Castaireal.png]]
| data1 = "I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right."
| label2 = First Appearance:
| data2 = Page #17, 2/8/2022. Introduced Page #84 4/7/2022
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = #191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
The Facility's AI was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being [[Stephen Bass|Bass]].
== Summary ==
-To Be added
== Trivia ==
* To be added
== Gallery ==
<gallery>
Castai.png|AI in Brian's body
</gallery>
== References ==
<references />
[[Category:Characters]]
74a6d9ede9bdc9748f0a6e792876f37568b61368
MediaWiki:Common.css
8
6
139
15
2022-12-26T09:06:37Z
Werewire
2
css updates to links
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link {
color: #0000ff; }
a:visited {
color: #82007d; }
.mw-parser-output a.extiw, .mw-parser-output a.external {
color: #0000ff;
}
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited {
color: #82007d;
}
#footer-places li a {
color: #d7d7d7;
border-bottom: 1px solid #d7d7d7;
}
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #0000ff;
}
.vector-menu-tabs li a {
color: #0000ff;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
border: 1px solid #a2a9b1;
float: right;
clear: right;
width: 295px;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
89dd626c65e1f0248bf3b1a32b342ebd0ec1499a
140
139
2022-12-26T09:19:25Z
Werewire
2
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 10px;
}
a:link {
color: #0000ff; }
a:visited {
color: #82007d; }
.mw-parser-output a.extiw, .mw-parser-output a.external {
color: #0000ff;
}
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited {
color: #82007d;
}
#footer-places li a {
color: #d7d7d7;
border-bottom: 1px solid #d7d7d7;
}
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #0000ff;
}
.vector-menu-tabs li a {
color: #0000ff;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
border: 1px solid #a2a9b1;
float: right;
clear: right;
width: 295px;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
a1a4d1cfa9c13e406d7e5e210971c0c5da238758
151
140
2023-02-01T06:16:43Z
Werewire
2
css updates
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
padding: 10px;
margin-left: -30px;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 5px;
margin-left: -10px;
}
a:link {
color: #0000ff; }
a:visited {
color: #82007d; }
.mw-parser-output a.extiw, .mw-parser-output a.external {
color: #0000ff;
}
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited {
color: #82007d;
}
#footer-places li a {
color: #d7d7d7;
border-bottom: 1px solid #d7d7d7;
}
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #0000ff;
}
.vector-menu-tabs li a {
color: #0000ff;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
border: 1px solid #a2a9b1;
float: right;
clear: right;
width: 295px;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
0cc964c897fb659757a4902daff7801d9d702b15
Ashley
0
18
145
126
2022-12-27T02:19:20Z
Werewire
2
character page links added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #82007d;
border-collapse: collapse;
| abovestyle =
background: #82007d;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #82007d;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #82007d;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castashleycleaned.png|frameless|200px|center|link=]]
| data1 = "The AI got sick of us, so they’re sending us to hell now."
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 82007d
| label5 = Pronouns:
| data5 = He/they
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Former boss)
[[Kid]], [[Daisy]], [[Brian]], [[Chantal]] (Friends)
[[Stephen Bass]] (Former boss)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic.
== Summary ==
A pen exploded on him which stained his labcoat purple.
== Trivia ==
* Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>.
== Gallery ==
<gallery>
File:Castashley.png|Cast Image #1
File:Castashleywithbow.png|Cast Image #2
File:Ashley_248.png|Cutie....
</gallery>
== References ==
<references />
[[Category:Characters]]
e5918a4bf9a9e6b581c19e8feb9da738087c65df
Kid
0
11
148
124
2022-12-28T04:47:11Z
Werewire
2
character page links added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them.
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
== References ==
<references />
[[Category:Characters]]
ba804f90b678dc723915731d68f5e5f153b0951e
Ball Pit Beast
0
50
149
103
2022-12-28T04:48:44Z
Werewire
2
minor edit
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ball Pit Beast
| image = Castballpitbeastbow.png
| quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW!
| first_appearance = Page 31, 2/15/2022
| status = Alive
| highlight_color = <!-- without # --> 00ff00
| pronouns = Any
| nicknames = BPB
| relationships =
| likes = Ball Pits
| dislikes =
| introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which [[Higher Power (HP)|HP]] confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has a affinity for ball pits and speaks oddly.
| summary = -To be added
| trivia = * No one seems to know what Ball Pit Beast "is" as [[Higher Power (HP)|HP]] claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>.
| gallery =
<gallery>
Castballpitbeast.png|BPB's 1st cast image
</gallery>
}}
889bcb0154e75f6c30361bdb062aaa56c3210a6b
150
149
2023-01-11T09:01:07Z
Werewire
2
grammar edit
wikitext
text/x-wiki
{{Infobox/Character page
| name = Ball Pit Beast
| image = Castballpitbeastbow.png
| quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW!
| first_appearance = Page 31, 2/15/2022
| status = Alive
| highlight_color = <!-- without # --> 00ff00
| pronouns = Any
| nicknames = BPB
| relationships =
| likes = Ball Pits
| dislikes =
| introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which [[Higher Power (HP)|HP]] confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has an affinity for ball pits and speaks oddly.
| summary = -To be added
| trivia = * No one seems to know what Ball Pit Beast "is" as [[Higher Power (HP)|HP]] claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>.
| gallery =
<gallery>
Castballpitbeast.png|BPB's 1st cast image
</gallery>
}}
d23e0521c30be282766e5c840361f265343f8bcd
Template:See also
10
79
201
2023-01-10T01:56:06Z
dev>Pppery
0
Revert to version by Wikipedia->bkonrad
wikitext
text/x-wiki
{{hatnote|extraclasses=boilerplate seealso|{{{altphrase|See also}}}: {{#if:{{{1<includeonly>|</includeonly>}}} |<!--then:-->[[:{{{1}}}{{#if:{{{label 1|{{{l1|}}}}}}|{{!}}{{{label 1|{{{l1}}}}}}}}]] |<!--else:-->'''Error: [[Template:See also|Template must be given at least one article name]]'''
}}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, | and }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]]
}}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |, and }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]]
}}{{#if:{{{4|}}}|{{#if:{{{5|}}}|, |, and }} [[:{{{4}}}{{#if:{{{label 4|{{{l4|}}}}}}|{{!}}{{{label 4|{{{l4}}}}}}}}]]
}}{{#if:{{{5|}}}|{{#if:{{{6|}}}|, |, and }} [[:{{{5}}}{{#if:{{{label 5|{{{l5|}}}}}}|{{!}}{{{label 5|{{{l5}}}}}}}}]]
}}{{#if:{{{6|}}}|{{#if:{{{7|}}}|, |, and }} [[:{{{6}}}{{#if:{{{label 6|{{{l6|}}}}}}|{{!}}{{{label 6|{{{l6}}}}}}}}]]
}}{{#if:{{{7|}}}|{{#if:{{{8|}}}|, |, and }} [[:{{{7}}}{{#if:{{{label 7|{{{l7|}}}}}}|{{!}}{{{label 7|{{{l7}}}}}}}}]]
}}{{#if:{{{8|}}}|{{#if:{{{9|}}}|, |, and }} [[:{{{8}}}{{#if:{{{label 8|{{{l8|}}}}}}|{{!}}{{{label 8|{{{l8}}}}}}}}]]
}}{{#if:{{{9|}}}|{{#if:{{{10|}}}|, |, and }} [[:{{{9}}}{{#if:{{{label 9|{{{l9|}}}}}}|{{!}}{{{label 9|{{{l9}}}}}}}}]]
}}{{#if:{{{10|}}}|{{#if:{{{11|}}}|, |, and }} [[:{{{10}}}{{#if:{{{label 10|{{{l10|}}}}}}|{{!}}{{{label 10|{{{l10}}}}}}}}]]
}}{{#if:{{{11|}}}|{{#if:{{{12|}}}|, |, and }} [[:{{{11}}}{{#if:{{{label 11|{{{l11|}}}}}}|{{!}}{{{label 11|{{{l11}}}}}}}}]]
}}{{#if:{{{12|}}}|{{#if:{{{13|}}}|, |, and }} [[:{{{12}}}{{#if:{{{label 12|{{{l12|}}}}}}|{{!}}{{{label 12|{{{l12}}}}}}}}]]
}}{{#if:{{{13|}}}|{{#if:{{{14|}}}|, |, and }} [[:{{{13}}}{{#if:{{{label 13|{{{l13|}}}}}}|{{!}}{{{label 13|{{{l13}}}}}}}}]]
}}{{#if:{{{14|}}}|{{#if:{{{15|}}}|, |, and }} [[:{{{14}}}{{#if:{{{label 14|{{{l14|}}}}}}|{{!}}{{{label 14|{{{l14}}}}}}}}]]
}}{{#if:{{{15|}}}|, and [[:{{{15}}}{{#if:{{{label 15|{{{l15|}}} }}}|{{!}}{{{label 15|{{{l15|}}} }}} }}]]
}}{{#if:{{{16|}}}| — '''<br/>Error: [[Template:See also|Too many links specified (maximum is 15)]]'''
}}}}<noinclude>
{{documentation}}
</noinclude>
0315f43d7e4b679054955c7a50fe554ab1df63de
Template:See also/doc
10
81
207
2023-01-10T01:58:04Z
dev>Pppery
0
wikitext
text/x-wiki
{{documentation subpage}}
This template is used to create [[w:WP:Hatnotes|hatnotes]] to point to a small number of other related titles. It looks like this:
{{See also|Article}}
Refer to the examples below to see how the template handles link targets containing section links and commas.
==Usage==
; Basic usage:
{{See also|''page1''|''page2''|''page3''|...}}
; All parameters:
{{See also|''page1''|''page2''|''page3''| ...
|label 1 = ''label 1''|label 2 = ''label2''|label 3 = ''label3''| ...
|l1 = ''label1''|l2 = ''label2''|l3 = ''label3''| ...
|selfref = ''yes''|category = ''no''}}
==Parameters==
This template accepts the following parameters:
* <code>1</code>, <code>2</code>, <code>3</code>, ... – the pages to link to. At least one page name is required. Categories and files are automatically escaped with the [[Help:Colon trick|colon trick]], and links to sections are automatically formatted as ''page § section'', rather than the MediaWiki default of ''page#section''.
* <code>label 1</code>, <code>label 2</code>, <code>label 3</code>, ...; or <code>l1</code>, <code>l2</code>, <code>l3</code>, ...; optional labels for each of the pages to link to.
* <code>selfref</code> – if set to "yes", "y", "true" or "1", adds the CSS class "selfref". This is used to denote self-references to Wikipedia. See [[Template:Selfref]] for more information.
* <code>category</code> – if set to "no", "n", "false", or "0", suppresses the error tracking category ([[:Category:Hatnote templates with errors]]). This only has an effect if the first positional parameter (the page to link to) is omitted.
== Examples ==
* <code><nowiki>{{See also|Article}}</nowiki></code> → {{See also|Article}}
* <code><nowiki>{{See also|Article#Section}}</nowiki></code> → {{See also|Article#Section}}
* <code><nowiki>{{See also|Article#Section|label 1=Custom section label}}</nowiki></code> → {{See also|Article#Section|label 1=Custom section label}}
* <code><nowiki>{{See also|Article1|Article2|Article3}}</nowiki></code> → {{See also|Article1|Article2|Article3}}
* <code><nowiki>{{See also|Article1|Article,2|Article3}}</nowiki></code> → {{See also|Article1|Article,2|Article3}}
* <code><nowiki>{{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}</nowiki></code> → {{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}
* <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar}}
* <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar#Civil war}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar#Civil war}}
* <code><nowiki>{{See also|Julius Caesar#Civil war|Veni, vidi, vici}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Veni, vidi, vici}}
* <code><nowiki>{{See also|Julius Caesar#Civil war|Crossing the Rubicon}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Crossing the Rubicon}}
==Errors==
If no page names are supplied, the template outputs the following message with the (help) wikilink pointing to the "Errors" section of this page:
*{{See also|category=no}}
If you see this error message, it is for one of three reasons:
# No parameters were specified (the template code was <code><nowiki>{{See also}}</nowiki></code> with no pipe character nor page to link to). Please use <code><nowiki>{{See also|</nowiki>''page''<nowiki>}}</nowiki></code> instead.
# Some parameters were specified, but no page names were included. For example, the template text <code><nowiki>{{See also|selfref=yes}}</nowiki></code> will produce this error. Please use (for example) <code><nowiki>{{See also|</nowiki>''page''<nowiki>|selfref=yes}}</nowiki></code> instead.
# A page name was specified, but it contains an equals sign ("="). The equals sign has a special meaning in template code, and because of this it cannot be used in template parameters that do not specify a parameter name. For example, the template code <code><nowiki>{{See also|1+1=2|2+2=4}}</nowiki></code> will produce this error. To work around this, you can specify the parameter name explicitly by using <code>1=</code>, <code>2</code>, etc., before the page name, like this: <code><nowiki>{{See also|1=1+1=2|2=2+2=4}}</nowiki></code>.
If you see this error message and are unsure of what to do, please post a message on [[WP:HD|the help desk (WP:HD)]], and someone should be able to help you.
To see a list of wikilinks to articles that contain this error message, see the [[Wikipedia:Maintenance|maintenance category]]: [[:Category:Hatnote templates with errors]].
==TemplateData==
<templatedata>
{
"description": "This template creates a hatnote to point to a small number of related pages. It is placed at the top of a section, directly underneath the section heading.",
"params": {
"1": {
"label": "Page 1",
"description": "The name of the first page that you want to link to.",
"type": "wiki-page-name",
"required": true,
"example": "Article name"
},
"2": {
"label": "Page 2",
"description": "The name of the second page that you want to link to.",
"type": "wiki-page-name",
"required": false
},
"3": {
"label": "Page 3",
"description": "The name of the third page that you want to link to. More pages can be added using the parameters \"4\", \"5\", \"6\", etc.",
"type": "wiki-page-name",
"required": false
},
"label 1": {
"label": "Label 1",
"type": "string",
"description": "What the first linked article is to be displayed as. ",
"aliases": [
"l1"
]
},
"label 2": {
"label": "Label 2",
"type": "string",
"description": "What the second linked article is to be displayed as.",
"aliases": [
"l2"
]
},
"label 3": {
"aliases": [
"l3"
],
"type": "string",
"label": "Label 3",
"description": "What the third linked article is to be displayed as. Other labels can be added by using increasing numbers (starting with \"label 4\" or \"l4\" for page 4) as parameter names."
},
"selfref": {
"type": "boolean",
"label": "Self reference",
"description": "Set to \"yes\" if the template is a self-reference to Wikipedia that would not make sense on mirrors or forks of the Wikipedia site.",
"example": "yes",
"default": "no"
},
"category": {
"label": "Category",
"description": "Set to \"no\", \"n\", \"false\", or \"0\" to suppresses the error tracking category (Category:Hatnote templates with errors). This only has an effect if no page names are specified.",
"type": "boolean",
"default": "yes",
"example": "no"
}
},
"format": "inline"
}
</templatedata>
==See also==
<includeonly>
[[Category:Templates]]
</includeonly>
02774f4e6b8e9592547778c4ff1d268700853631
Module:Documentation/styles.css
828
72
203
187
2023-01-16T23:40:04Z
dev>Pppery
0
text
text/plain
.documentation,
.documentation-metadata {
border: 1px solid #a2a9b1;
background-color: #ecfcf4;
clear: both;
}
.documentation {
margin: 1em 0 0 0;
padding: 1em;
}
.documentation-metadata {
margin: 0.2em 0; /* same margin left-right as .documentation */
font-style: italic;
padding: 0.4em 1em; /* same padding left-right as .documentation */
}
.documentation-startbox {
padding-bottom: 3px;
border-bottom: 1px solid #aaa;
margin-bottom: 1ex;
}
.documentation-heading {
font-weight: bold;
font-size: 125%;
}
.documentation-clear { /* Don't want things to stick out where they shouldn't. */
clear: both;
}
.documentation-toolbar {
font-style: normal;
font-size: 85%;
}
/* [[Category:Template stylesheets]] */
5fb984fe8632dc068db16853a824c9f3d5175dd9
188
187
2023-03-30T08:29:47Z
Werewire
2
1 revision imported: added templates
text
text/plain
.documentation,
.documentation-metadata {
border: 1px solid #a2a9b1;
background-color: #ecfcf4;
clear: both;
}
.documentation {
margin: 1em 0 0 0;
padding: 1em;
}
.documentation-metadata {
margin: 0.2em 0; /* same margin left-right as .documentation */
font-style: italic;
padding: 0.4em 1em; /* same padding left-right as .documentation */
}
.documentation-startbox {
padding-bottom: 3px;
border-bottom: 1px solid #aaa;
margin-bottom: 1ex;
}
.documentation-heading {
font-weight: bold;
font-size: 125%;
}
.documentation-clear { /* Don't want things to stick out where they shouldn't. */
clear: both;
}
.documentation-toolbar {
font-style: normal;
font-size: 85%;
}
37daf53a6ac29b7858ece6841d9f2d2f980a5366
File:Realending.png
6
54
153
2023-03-06T06:15:55Z
Werewire
2
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Realending
0
55
154
2023-03-06T06:21:54Z
Werewire
2
basic page setup
wikitext
text/x-wiki
[[File:realending.png|400px|right]]
'''Realending''' is a extra page on Ecopportunityx that was added on April First 2022 to imply a joke ending to the comic that reverses all of the events of the comics.<ref>https://ecopportunityx.cfw.me/realending/</ref>
This page is very easy to miss if you're not paying attention to the text you see on pages when you hover over the images.
== References ==
b2859a9377caf63aef70621977bca4fa39f702e4
Template:Delete
10
56
156
155
2023-03-30T08:29:38Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{{MessageBox
|Flag color=firebrick
|Border color=firebrick
|Background color=#FFEEEE
|Image=[[File:Trash Can.svg|80px]]
|Message text=<span style="line-height:2;"><span style="color:red; line-height:1.2;">'''This article is a candidate for speedy deletion because {{{1}}}. '''</span><br><span style="color:#000000;">
Deleting Reason: {{{1|No reason given}}}</span></span>
}}<noinclude>[[Category:Notice templates]]</noinclude>
<includeonly>[[Category:Candidates for deletion]]</includeonly>
<noinclude>
<languages />
<translate>
<!--T:1-->
== Usage Note ==
Add this template to any page on this wiki for which you're requesting an [[<tvar name=admin>mw:Special:MyLanguage/Manual:Administrators</tvar>|administrator]] to delete, either by adding it to the very top of the page (preferred) or by replacing the existing content with this template (also acceptable) following the format prescribed below.</translate>
<code><nowiki>{{Delete|1=</nowiki>''Your deletion reason''<nowiki>}}</nowiki></code>
<translate>
<!--T:2-->
Replace ''your deletion reason'' with one of the commonly accepted reasons for deletion below, or describe concisely ''why'' you are requesting deletion.
<!--T:3-->
If you do not specify a reason in parameter <code>1=</code>, ''no deletion reason'' will be inserted, and your request ''may'' be declined if it is not apparent why deletion is being requested.
<!--T:4-->
=== Commonly accepted reasons for deletion ===
* Vandalism
* Attack page/page created solely for harassment
* Copyright violation
* Spam
* Test page. Please either use the [[<tvar name=sb>m:Meta:Sandbox</tvar>|community sandbox]] or [[<tvar name=mypsb>Special:MyPage/sandbox</tvar>|create your personal sandbox]]
* Non-controversial housekeeping
* [[<tvar name=br>Special:BrokenRedirects</tvar>|Broken redirect]]
* [[<tvar name=dr>Special:DoubleRedirects</tvar>|Double redirect]]
* Author requests deletion, or author blanked
* Subpages with no parent page
* Talk pages with no companion page and no meaningful discussion history
* Images available as identical copies on either [[<tvar name=commons>commons:Special:MyLanguage/Main Page</tvar>|Miraheze Commons]] or [[wikimediacommons:|Wikimedia Commons]]
* [[<tvar name=uc>Special:UnusedCategories</tvar>|Empty category]]
* [[<tvar name=ut>Special:UnusedTemplates</tvar>|Unused template (including a template redirect)]] with no inlinks, transclusions, or page watchers
=== Parameter(s) === <!--T:5-->
</translate>
<templatedata>
{
"params": {
"1": {
"label": "Deletion reason",
"example": "Author requests deletion, or author blanked",
"default": "No deletion reason",
"suggested": true,
"description": "Template to add to any page requiring deletion."
}
}
}
</templatedata>
</noinclude>
ae465d4609d3bbb646339e90ae469c31ce34a9df
Template:Mbox
10
57
158
157
2023-03-30T08:29:39Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{{#invoke:Message box|mbox}}<noinclude>
{{documentation}}
<!-- Categories go on the /doc subpage, and interwikis go on Wikidata. -->
</noinclude>
c262e205f85f774a23f74119179ceea11751d68e
Template:MessageBox
10
59
162
161
2023-03-30T08:29:40Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
<div style="width: {{#if:{{{width|}}}|{{{width}}}|80%}}; background-color: {{#if:{{{Background color}}}|{{{Background color}}}|#f5f5f5}}; border-top: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-bottom: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-right: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-left: 12px solid {{#if:{{{Flag color}}}|{{{Flag color}}}|#aaaaaa}}; margin: 0.5em auto 0.5em;">
{|
{{#if:{{{Image}}}|{{!}}style="width:93px; text-align:center; vertical-align:middle; padding-top:1px;padding-bottom:7px" {{!}} {{{Image}}} }}
|style="vertical-align:middle;padding-left:3px;padding-top:10px;padding-bottom:10px;padding-right:10px; background-color: {{#if:{{{Background color}}}{{!}}{{{Background color}}}{{!}}#f5f5f5}};" | {{{Message text}}}
|}
</div><noinclude>[[Category:Notice templates]]</noinclude>
c6727bf6179a36a5413ed93f232fd0e2f7180256
Template:Clear
10
60
164
163
2023-03-30T08:29:40Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
<div style="clear:{{{1|both}}};"></div><noinclude>
{{documentation}}
</noinclude>
38bab3e3d7fbd3d6800d46556e60bc6bac494d72
Template:Documentation
10
61
166
165
2023-03-30T08:29:40Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude>[[Category:Templates]]</noinclude>
9885bb4fa99bf3d5b960e73606bbb8eed3026877
Template:Documentation subpage
10
62
168
167
2023-03-30T08:29:41Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
<includeonly><!--
-->{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}}
| <!--(this template has been transcluded on a /doc or /{{{override}}} page)-->
</includeonly><!--
-->{{#ifeq:{{{doc-notice|show}}} |show
| {{Mbox
| type = notice
| style = margin-bottom:1.0em;
| image = [[File:Edit-copy green.svg|40px|alt=|link=]]
| text =
'''This is a documentation subpage''' for '''{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br/> It contains usage information, [[mw:Help:Categories|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} | page}}}}.
}}
}}<!--
-->{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}<!--
-->{{#if:{{{inhibit|}}} |<!--(don't categorize)-->
| <includeonly><!--
-->{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}
| [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
| [[Category:Documentation subpages without corresponding pages]]
}}<!--
--></includeonly>
}}<!--
(completing initial #ifeq: at start of template:)
--><includeonly>
| <!--(this template has not been transcluded on a /doc or /{{{override}}} page)-->
}}<!--
--></includeonly><noinclude>{{Documentation}}</noinclude>
471e685c1c643a5c6272e20e49824fffebad0448
Template:Mbox/doc
10
63
170
169
2023-03-30T08:29:41Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories to the /doc subpage, and interwikis at Wikidata (see Wikipedia:Wikidata) -->
{{tl|mbox}} stands '''m'''essage '''box''', which is a metatemplate used to build message boxes for other templates. It offers several different colours, images and some other features.
==Basic usage==
The box below shows the most common parameters that are accepted by {{Tl|mbox}}. The purpose of each is described below.
<pre style="overflow:auto;">
{{mbox
| name =
| small = {{{small|}}}
| type =
| image =
| sect = {{{1|}}}
| issue =
| talk = {{{talk|}}}
| fix =
| date = {{{date|}}}
| cat =
| all =
}}
</pre>
==Full usage==
The "All parameters" box shows all possible parameters for this template. However, it is not recommended to copy this, because it will never be required to use all parameters simultaneously.
{| class="wikitable" align="left" style="background:transparent; width=30%;"
!All parameters
|-
|<pre style="font-size:100%">
{{mbox
| name =
| small = {{{small|}}}
| type =
| image =
| imageright =
| smallimage =
| smallimageright =
| class =
| style =
| textstyle =
| sect = {{{1|}}}
| issue =
| talk = {{{talk|}}}
| fix =
| date = {{{date|}}}
| text =
| smalltext =
| plainlinks = no
| removalnotice =
| cat =
| all =
| cat2 =
| all2 =
| cat3 =
| all3 =
}}
</pre>
|}
{{clear}}
==Common parameters==
=== ''name'' ===
The ''name'' parameter specifies the name of the template, without the Template namespace prefix. For example [[w:Template:Underlinked]] specifies {{Para|name|Underlinked}}.
This parameter should be updated if the template is ever moved. The purpose of this parameter is to allow the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorisation of the template itself.
=== ''small'' ===
The ''small'' parameter should be passed through the template, as this will allow editors to use the small format by specifying {{para|small|left}} on an article:
{{mbox|nocat=true|small=left|text=This is the small left-aligned mbox format.}}
Otherwise the standard format will be produced:
{{mbox|nocat=true|text=This is the standard mbox format.}}
Other variations:
* For templates which should ''never'' be small, specify {{Para|small|no}} or do not pass the small parameter at all.
* For templates which should ''always'' be small, just specify {{Para|small|left}}.
* For templates which should ''default to small'', try {{para|small|<nowiki>{{{small|left}}}</nowiki>}}. This will allow an editor to override by using {{para|small|no}} on an article.
To use a small box that adjusts its width to match the text, use {{para|style|width: auto; margin-right: 0px;}} and {{para|textstyle|width: auto;}} together:
{{mbox|nocat=true|small=left|style=width: auto; margin-right: 0px;|textstyle=width: auto; margin-right: 0px;|text=This is the small left-aligned Ambox format with flexible width.}}
See [[#Sect]] below for more information on how to limit {{para|small}} display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display).
=== ''type'' ===
The ''type'' parameter defines the colour of the left bar, and the image that is used by default. The type is chosen not on aesthetics but is based on the type of issue that the template describes. The seven available types and their default images are shown below.
{{mbox
|nocat=true
| type = speedy
| text = type=<u>speedy</u> – Speedy deletion issues
}}
{{mbox
|nocat=true
| type = delete
| text = type=<u>delete</u> – Deletion issues,
}}
{{mbox
|nocat=true
| type = content
| text = type=<u>content</u> – Content issues
}}
{{mbox
|nocat=true
| type = style
| text = type=<u>style</u> – Style issues
}}
{{mbox
|nocat=true
| type = notice
| text = type=<u>notice</u> – Article notices
{{mbox
|nocat=true
| type = move
| text = type=<u>move</u> – Merge, split and transwiki proposals
}}
{{mbox
|nocat=true
| type = protection
| text = type=<u>protection</u> – Protection notices,
}}
If no ''type'' parameter is given the template defaults to {{para|type|notice}}.
=== ''image'' ===
You can choose a specific image to use for the template by using the ''image'' parameter. Images are specified using the standard syntax for inserting files. Widths of 40-50px are typical.
Please note:
* If no image is specified then the default image corresponding to the ''type'' is used. (See [[#type]] above.)
* If {{para|image|none}} is specified, then no image is used and the text uses the whole message box area.
=== ''sect'' ===
Many message templates begin with the text '''This article ...''' and it is often desirable that this wording change to '''This section ...''' if the template is used on a section instead. The value of this parameter will replace the word "article". Various possibilities for use include: {{para|sect|list}}, {{para|sect|table}}, {{para|sect|"In popular culture" material}}, etc.
If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated.
A common way to facilitate this functionality is to pass {{para|sect|<nowiki>{{{1|}}}</nowiki>}}. This will allow editors to type <kbd>section</kbd>, for example, as the first unnamed parameter of the template to change the wording. Another approach is to pass {{para|sect|<nowiki>{{{section|{{{sect|}}}}}}</nowiki>}} to provide a named value.
=== ''issue'' and ''fix'' ===
The ''issue'' parameter is used to describe the issue with the page. Try to keep it short and to-the-point (approximately 10-20 words).
The ''fix'' parameter contains some text which describes what should be done to improve the page. It may be longer than the text in ''issue'', but should not usually be more than two sentences.
When the template is in its small form (when using {{para|small|left}}), the ''issue'' is the only text that will be displayed. For example [[w:Template:Citation style]] defines
When used stand-alone it produces the whole text:
But when used with |small=left it displays only the issue:
=== ''talk'' ===
Some message templates include a link to the talk page, and allow an editor to specify a section heading to link directly to the relevant section. To achieve this functionality, simply pass the ''talk'' parameter through, i.e. talk=<nowiki>{{{talk|}}}</nowiki>
This parameter may then be used by an editor as follows:
* talk=SECTION HEADING – the link will point to the specified section on the article's talk page, e.g. talk=Foo.
* talk=FULL PAGE NAME – the template will link to the page specified (which may include a section anchor), e.g. talk=Talk:Banana#Foo
Notes:
* When this parameter is used by a template, the talk page link will appear on the template itself (in order to demonstrate the functionality) but this will only display on articles if the parameter is actually defined.
* In order to make sure there is always a link to the talk page, you can use |talk=<nowiki>{{{talk|#}}}</nowiki>.
* If the talk page does not exist, there will be no link, whatever the value of the parameter.
=== ''date'' ===
Passing the ''date'' parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a bot). This will be displayed after the message in a smaller font.
Passing this parameter also enables monthly cleanup categorisation when the ''cat'' parameter is also defined.
=== ''info'' ===
This parameter is for specifying additional information. Whatever you add here will appear after the date.
=== ''cat'' ===
This parameter defines a monthly cleanup category. If |cat=CATEGORY then:
* articles will be placed in '''Category:CATEGORY from DATE''' if |date=DATE is specified.
* articles will be placed in '''Category:CATEGORY''' if the date is not specified.
For example, [[w:Template:No footnotes]] specifies |cat=Articles lacking in-text citations and so an article with the template {{Tlx|No footnotes|2=date=June 2010|SISTER=w:}} will be placed in [[w:Category:Articles lacking in-text citations from June 2010]].
The ''cat'' parameter should not be linked, nor should the prefix <code>Category:</code> be used.
=== ''all'' ===
The ''all'' parameter defines a category into which all articles should be placed.
The ''all'' parameter should not be linked, nor should the prefix <code>Category:</code> be used.
== Additional parameters ==
=== ''imageright'' ===
An image on the right side of the message box may be specified using this parameter. The syntax is the same as for the ''image'' parameter, except that the default is no image.
=== ''smallimage'' and ''smallimageright'' ===
Images for the small format box may be specified using these parameters. They will have no effect unless {{para|small|left}} is specified.
=== ''class'' ===
Custom [[w:Cascading Style Sheets|CSS]] classes to apply to the box. If adding multiple classes, they should be space-separated.
=== ''style'' and ''textstyle'' ===
Optional CSS values may be defined, without quotation marks <code>" "</code> but with the ending semicolons <code>;</code>.
* ''style'' specifies the style used by the entire message box table. This can be used to do things such as modifying the width of the box.
* ''textstyle'' relates to the text cell.
=== ''text'' and ''smalltext'' ===
Instead of specifying the ''issue'' and the ''fix'' it is possible to use the ''text'' parameter instead.
Customised text for the small format can be defined using ''smalltext''.
=== ''plainlinks'' ===
Normally on Wikipedia, external links have an arrow icon next to them, like this: [http://www.example.com Example.com]. However, in message boxes, the arrow icon is suppressed by default, like this: <span class="plainlinks">[http://www.example.com Example.com]</span>. To get the normal style of external link with the arrow icon, use {{para|plainlinks|no}}.
=== ''cat2'', ''cat3'', ''all2'', and ''all3'' ===
* ''cat2'' and ''cat3'' provide for additional monthly categories; see [[#cat]].
* ''all2'' and ''all3'' provide for additional categories into which all articles are placed, just like [[#all]].
== Technical notes ==
* If you need to use special characters in the text parameter then you need to escape them like this:
<syntaxhighlight lang="xml">
{{mbox
|nocat=true
| text = <div>
Equal sign = and a start and end brace { } work fine as they are.
But here is a pipe | and two end braces <nowiki>}}</nowiki>.
And now a pipe and end braces <nowiki>|}}</nowiki>.
</div>
}}
</syntaxhighlight>
{{mbox
|nocat=true
| text = <div>
Equal sign = and a start and end brace { } work fine as they are.
But here is a pipe | and two end braces <nowiki>}}</nowiki>.
And now a pipe and end braces <nowiki>|}}</nowiki>.
</div>
}}
* The <code><div></code> tags that surround the text in the example above are usually not needed. But if the text contains line breaks then sometimes we get weird line spacing. This especially happens when using vertical dotted lists. Then use the div tags to fix that.
* The default images for this meta-template are in png format instead of svg format. The main reason is that some older web browsers have trouble with the transparent background that MediaWiki renders for svg images. The png images here have hand optimised transparent background colour so they look good in all browsers. Note that svg icons only look somewhat bad in the old browsers, thus such hand optimisation is only worth the trouble for very widely used icons.
== TemplateData ==
<templatedata>
{
"params": {
"1": {},
"small": {
"label": "Small Mode",
"description": "The small parameter should be passed through the template, as this will allow editors to use the small format by specifying |small=left on an article.",
"type": "string",
"suggestedvalues": [
"no",
"left"
]
},
"talk": {},
"date": {},
"name": {
"label": "Template Name",
"description": "The name parameter specifies the name of the template, without the Template namespace prefix. ",
"type": "string"
},
"type": {},
"image": {},
"sect": {},
"issue": {},
"fix": {},
"info": {},
"cat": {},
"all": {},
"imageright": {},
"class": {},
"text ": {},
"plainlinks": {},
"smallimage ": {},
"smallimageright": {},
"textstyle": {},
"style ": {},
"smalltext": {},
"cat2": {},
"cat3": {},
"all2": {},
"all3": {}
},
"paramOrder": [
"name",
"small",
"type",
"image",
"sect",
"issue",
"fix",
"talk",
"date",
"1",
"info",
"cat",
"all",
"imageright",
"class",
"text ",
"plainlinks",
"smallimage ",
"smallimageright",
"textstyle",
"style ",
"smalltext",
"cat2",
"cat3",
"all2",
"all3"
]
}
</templatedata>
<includeonly>[[Category:Notice templates]]</includeonly>
7b00ac1be5a47eeb858d5ff75f02906ce5d85ff2
Template:Para
10
64
172
171
2023-03-30T08:29:42Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
<code class="tpl-para" style="word-break:break-word;{{SAFESUBST:<noinclude />#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:<noinclude />#if:{{{style|}}}|{{{style}}}}}">|{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}=}}{{{2|}}}</code><noinclude>
{{Documentation}}
<!--Categories and interwikis go near the bottom of the /doc subpage.-->
</noinclude>
7be5bee75307eae9342bbb9ff3a613e93e93d5a7
Template:Template link
10
65
174
173
2023-03-30T08:29:42Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{{[[Template:{{{1}}}|{{{1}}}]]}}<noinclude>{{documentation}}
<!-- Categories go on the /doc subpage and interwikis go on Wikidata. -->
</noinclude>
eabbec62efe3044a98ebb3ce9e7d4d43c222351d
Template:Template link expanded
10
66
176
175
2023-03-30T08:29:43Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
<code><nowiki>{{</nowiki>{{#if:{{{subst|}}} |[[Help:Substitution|subst]]:}}<!--
-->[[{{{sister|{{{SISTER|}}}}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!--
-->{{#if:{{{2|}}} ||{{{2}}}}}<!--
-->{{#if:{{{3|}}} ||{{{3}}}}}<!--
-->{{#if:{{{4|}}} ||{{{4}}}}}<!--
-->{{#if:{{{5|}}} ||{{{5}}}}}<!--
-->{{#if:{{{6|}}} ||{{{6}}}}}<!--
-->{{#if:{{{7|}}} ||{{{7}}}}}<!--
-->{{#if:{{{8|}}} ||{{{8}}}}}<!--
-->{{#if:{{{9|}}} ||{{{9}}}}}<!--
-->{{#if:{{{10|}}} ||{{{10}}}}}<!--
-->{{#if:{{{11|}}} ||{{{11}}}}}<!--
-->{{#if:{{{12|}}} ||{{{12}}}}}<!--
-->{{#if:{{{13|}}} ||{{{13}}}}}<!--
-->{{#if:{{{14|}}} ||{{{14}}}}}<!--
-->{{#if:{{{15|}}} ||{{{15}}}}}<!--
-->{{#if:{{{16|}}} ||{{{16}}}}}<!--
-->{{#if:{{{17|}}} ||{{{17}}}}}<!--
-->{{#if:{{{18|}}} ||{{{18}}}}}<!--
-->{{#if:{{{19|}}} ||{{{19}}}}}<!--
-->{{#if:{{{20|}}} ||{{{20}}}}}<!--
-->{{#if:{{{21|}}} ||''...''}}<!--
--><nowiki>}}</nowiki></code><noinclude>
{{Documentation}}
</noinclude>
9f670205d4b358df089b1a820f78f02a88afca3a
Template:Tl
10
67
178
177
2023-03-30T08:29:43Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
#REDIRECT [[Template:Template link]]
fb9a6b420e13178e581af6e7d64274cd30a79017
Template:Tlx
10
68
180
179
2023-03-30T08:29:43Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
#REDIRECT [[Template:Template link expanded]]
155e901040104f96908f1f4627c4eb3501301bf9
Module:Arguments
828
69
182
181
2023-03-30T08:29:44Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
-- This module provides easy processing of arguments passed to Scribunto from
-- #invoke. It is intended for use by other Lua modules, and should not be
-- called from #invoke directly.
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local arguments = {}
-- Generate four different tidyVal functions, so that we don't have to check the
-- options every time we call it.
local function tidyValDefault(key, val)
if type(val) == 'string' then
val = val:match('^%s*(.-)%s*$')
if val == '' then
return nil
else
return val
end
else
return val
end
end
local function tidyValTrimOnly(key, val)
if type(val) == 'string' then
return val:match('^%s*(.-)%s*$')
else
return val
end
end
local function tidyValRemoveBlanksOnly(key, val)
if type(val) == 'string' then
if val:find('%S') then
return val
else
return nil
end
else
return val
end
end
local function tidyValNoChange(key, val)
return val
end
local function matchesTitle(given, title)
local tp = type( given )
return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title
end
local translate_mt = { __index = function(t, k) return k end }
function arguments.getArgs(frame, options)
checkType('getArgs', 1, frame, 'table', true)
checkType('getArgs', 2, options, 'table', true)
frame = frame or {}
options = options or {}
--[[
-- Set up argument translation.
--]]
options.translate = options.translate or {}
if getmetatable(options.translate) == nil then
setmetatable(options.translate, translate_mt)
end
if options.backtranslate == nil then
options.backtranslate = {}
for k,v in pairs(options.translate) do
options.backtranslate[v] = k
end
end
if options.backtranslate and getmetatable(options.backtranslate) == nil then
setmetatable(options.backtranslate, {
__index = function(t, k)
if options.translate[k] ~= k then
return nil
else
return k
end
end
})
end
--[[
-- Get the argument tables. If we were passed a valid frame object, get the
-- frame arguments (fargs) and the parent frame arguments (pargs), depending
-- on the options set and on the parent frame's availability. If we weren't
-- passed a valid frame object, we are being called from another Lua module
-- or from the debug console, so assume that we were passed a table of args
-- directly, and assign it to a new variable (luaArgs).
--]]
local fargs, pargs, luaArgs
if type(frame.args) == 'table' and type(frame.getParent) == 'function' then
if options.wrappers then
--[[
-- The wrappers option makes Module:Arguments look up arguments in
-- either the frame argument table or the parent argument table, but
-- not both. This means that users can use either the #invoke syntax
-- or a wrapper template without the loss of performance associated
-- with looking arguments up in both the frame and the parent frame.
-- Module:Arguments will look up arguments in the parent frame
-- if it finds the parent frame's title in options.wrapper;
-- otherwise it will look up arguments in the frame object passed
-- to getArgs.
--]]
local parent = frame:getParent()
if not parent then
fargs = frame.args
else
local title = parent:getTitle():gsub('/sandbox$', '')
local found = false
if matchesTitle(options.wrappers, title) then
found = true
elseif type(options.wrappers) == 'table' then
for _,v in pairs(options.wrappers) do
if matchesTitle(v, title) then
found = true
break
end
end
end
-- We test for false specifically here so that nil (the default) acts like true.
if found or options.frameOnly == false then
pargs = parent.args
end
if not found or options.parentOnly == false then
fargs = frame.args
end
end
else
-- options.wrapper isn't set, so check the other options.
if not options.parentOnly then
fargs = frame.args
end
if not options.frameOnly then
local parent = frame:getParent()
pargs = parent and parent.args or nil
end
end
if options.parentFirst then
fargs, pargs = pargs, fargs
end
else
luaArgs = frame
end
-- Set the order of precedence of the argument tables. If the variables are
-- nil, nothing will be added to the table, which is how we avoid clashes
-- between the frame/parent args and the Lua args.
local argTables = {fargs}
argTables[#argTables + 1] = pargs
argTables[#argTables + 1] = luaArgs
--[[
-- Generate the tidyVal function. If it has been specified by the user, we
-- use that; if not, we choose one of four functions depending on the
-- options chosen. This is so that we don't have to call the options table
-- every time the function is called.
--]]
local tidyVal = options.valueFunc
if tidyVal then
if type(tidyVal) ~= 'function' then
error(
"bad value assigned to option 'valueFunc'"
.. '(function expected, got '
.. type(tidyVal)
.. ')',
2
)
end
elseif options.trim ~= false then
if options.removeBlanks ~= false then
tidyVal = tidyValDefault
else
tidyVal = tidyValTrimOnly
end
else
if options.removeBlanks ~= false then
tidyVal = tidyValRemoveBlanksOnly
else
tidyVal = tidyValNoChange
end
end
--[[
-- Set up the args, metaArgs and nilArgs tables. args will be the one
-- accessed from functions, and metaArgs will hold the actual arguments. Nil
-- arguments are memoized in nilArgs, and the metatable connects all of them
-- together.
--]]
local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}
setmetatable(args, metatable)
local function mergeArgs(tables)
--[[
-- Accepts multiple tables as input and merges their keys and values
-- into one table. If a value is already present it is not overwritten;
-- tables listed earlier have precedence. We are also memoizing nil
-- values, which can be overwritten if they are 's' (soft).
--]]
for _, t in ipairs(tables) do
for key, val in pairs(t) do
if metaArgs[key] == nil and nilArgs[key] ~= 'h' then
local tidiedVal = tidyVal(key, val)
if tidiedVal == nil then
nilArgs[key] = 's'
else
metaArgs[key] = tidiedVal
end
end
end
end
end
--[[
-- Define metatable behaviour. Arguments are memoized in the metaArgs table,
-- and are only fetched from the argument tables once. Fetching arguments
-- from the argument tables is the most resource-intensive step in this
-- module, so we try and avoid it where possible. For this reason, nil
-- arguments are also memoized, in the nilArgs table. Also, we keep a record
-- in the metatable of when pairs and ipairs have been called, so we do not
-- run pairs and ipairs on the argument tables more than once. We also do
-- not run ipairs on fargs and pargs if pairs has already been run, as all
-- the arguments will already have been copied over.
--]]
metatable.__index = function (t, key)
--[[
-- Fetches an argument when the args table is indexed. First we check
-- to see if the value is memoized, and if not we try and fetch it from
-- the argument tables. When we check memoization, we need to check
-- metaArgs before nilArgs, as both can be non-nil at the same time.
-- If the argument is not present in metaArgs, we also check whether
-- pairs has been run yet. If pairs has already been run, we return nil.
-- This is because all the arguments will have already been copied into
-- metaArgs by the mergeArgs function, meaning that any other arguments
-- must be nil.
--]]
if type(key) == 'string' then
key = options.translate[key]
end
local val = metaArgs[key]
if val ~= nil then
return val
elseif metatable.donePairs or nilArgs[key] then
return nil
end
for _, argTable in ipairs(argTables) do
local argTableVal = tidyVal(key, argTable[key])
if argTableVal ~= nil then
metaArgs[key] = argTableVal
return argTableVal
end
end
nilArgs[key] = 'h'
return nil
end
metatable.__newindex = function (t, key, val)
-- This function is called when a module tries to add a new value to the
-- args table, or tries to change an existing value.
if type(key) == 'string' then
key = options.translate[key]
end
if options.readOnly then
error(
'could not write to argument table key "'
.. tostring(key)
.. '"; the table is read-only',
2
)
elseif options.noOverwrite and args[key] ~= nil then
error(
'could not write to argument table key "'
.. tostring(key)
.. '"; overwriting existing arguments is not permitted',
2
)
elseif val == nil then
--[[
-- If the argument is to be overwritten with nil, we need to erase
-- the value in metaArgs, so that __index, __pairs and __ipairs do
-- not use a previous existing value, if present; and we also need
-- to memoize the nil in nilArgs, so that the value isn't looked
-- up in the argument tables if it is accessed again.
--]]
metaArgs[key] = nil
nilArgs[key] = 'h'
else
metaArgs[key] = val
end
end
local function translatenext(invariant)
local k, v = next(invariant.t, invariant.k)
invariant.k = k
if k == nil then
return nil
elseif type(k) ~= 'string' or not options.backtranslate then
return k, v
else
local backtranslate = options.backtranslate[k]
if backtranslate == nil then
-- Skip this one. This is a tail call, so this won't cause stack overflow
return translatenext(invariant)
else
return backtranslate, v
end
end
end
metatable.__pairs = function ()
-- Called when pairs is run on the args table.
if not metatable.donePairs then
mergeArgs(argTables)
metatable.donePairs = true
end
return translatenext, { t = metaArgs }
end
local function inext(t, i)
-- This uses our __index metamethod
local v = t[i + 1]
if v ~= nil then
return i + 1, v
end
end
metatable.__ipairs = function (t)
-- Called when ipairs is run on the args table.
return inext, t, 0
end
return args
end
return arguments
3134ecce8429b810d445e29eae115e2ae4c36c53
Module:Documentation
828
70
184
183
2023-03-30T08:29:45Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
-- This module implements {{documentation}}.
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
-- Get the config table.
local cfg = mw.loadData('Module:Documentation/config')
local p = {}
-- Often-used functions.
local ugsub = mw.ustring.gsub
----------------------------------------------------------------------------
-- Helper functions
--
-- These are defined as local functions, but are made available in the p
-- table for testing purposes.
----------------------------------------------------------------------------
local function message(cfgKey, valArray, expectType)
--[[
-- Gets a message from the cfg table and formats it if appropriate.
-- The function raises an error if the value from the cfg table is not
-- of the type expectType. The default type for expectType is 'string'.
-- If the table valArray is present, strings such as $1, $2 etc. in the
-- message are substituted with values from the table keys [1], [2] etc.
-- For example, if the message "foo-message" had the value 'Foo $2 bar $1.',
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz."
--]]
local msg = cfg[cfgKey]
expectType = expectType or 'string'
if type(msg) ~= expectType then
error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2)
end
if not valArray then
return msg
end
local function getMessageVal(match)
match = tonumber(match)
return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4)
end
return ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
end
p.message = message
local function makeWikilink(page, display)
if display then
return mw.ustring.format('[[%s|%s]]', page, display)
else
return mw.ustring.format('[[%s]]', page)
end
end
p.makeWikilink = makeWikilink
local function makeCategoryLink(cat, sort)
local catns = mw.site.namespaces[14].name
return makeWikilink(catns .. ':' .. cat, sort)
end
p.makeCategoryLink = makeCategoryLink
local function makeUrlLink(url, display)
return mw.ustring.format('[%s %s]', url, display)
end
p.makeUrlLink = makeUrlLink
local function makeToolbar(...)
local ret = {}
local lim = select('#', ...)
if lim < 1 then
return nil
end
for i = 1, lim do
ret[#ret + 1] = select(i, ...)
end
-- 'documentation-toolbar'
return '<span class="' .. message('toolbar-class') .. '">('
.. table.concat(ret, ' | ') .. ')</span>'
end
p.makeToolbar = makeToolbar
----------------------------------------------------------------------------
-- Argument processing
----------------------------------------------------------------------------
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame, {
valueFunc = function (key, value)
if type(value) == 'string' then
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if key == 'heading' or value ~= '' then
return value
else
return nil
end
else
return value
end
end
})
return p[funcName](args)
end
end
----------------------------------------------------------------------------
-- Entry points
----------------------------------------------------------------------------
function p.nonexistent(frame)
if mw.title.getCurrentTitle().subpageText == 'testcases' then
return frame:expandTemplate{title = 'module test cases notice'}
else
return p.main(frame)
end
end
p.main = makeInvokeFunc('_main')
function p._main(args)
--[[
-- This function defines logic flow for the module.
-- @args - table of arguments passed by the user
--]]
local env = p.getEnvironment(args)
local root = mw.html.create()
root
:tag('div')
-- 'documentation-container'
:addClass(message('container'))
:attr('role', 'complementary')
:attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil)
:attr('aria-label', args.heading == '' and 'Documentation' or nil)
:newline()
:tag('div')
-- 'documentation'
:addClass(message('main-div-classes'))
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
-- 'documentation-clear'
:addClass(message('clear'))
:done()
:newline()
:done()
:wikitext(p._endBox(args, env))
:done()
:wikitext(p.addTrackingCategories(env))
-- 'Module:Documentation/styles.css'
return mw.getCurrentFrame():extensionTag (
'templatestyles', '', {src=cfg['templatestyles']
}) .. tostring(root)
end
----------------------------------------------------------------------------
-- Environment settings
----------------------------------------------------------------------------
function p.getEnvironment(args)
--[[
-- Returns a table with information about the environment, including title
-- objects and other namespace- or path-related data.
-- @args - table of arguments passed by the user
--
-- Title objects include:
-- env.title - the page we are making documentation for (usually the current title)
-- env.templateTitle - the template (or module, file, etc.)
-- env.docTitle - the /doc subpage.
-- env.sandboxTitle - the /sandbox subpage.
-- env.testcasesTitle - the /testcases subpage.
--
-- Data includes:
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.
-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.
--
-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value
-- returned will be nil.
--]]
local env, envFuncs = {}, {}
-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value
-- returned by that function is memoized in the env table so that we don't call any of the functions
-- more than once. (Nils won't be memoized.)
setmetatable(env, {
__index = function (t, key)
local envFunc = envFuncs[key]
if envFunc then
local success, val = pcall(envFunc)
if success then
env[key] = val -- Memoise the value.
return val
end
end
return nil
end
})
function envFuncs.title()
-- The title object for the current page, or a test page passed with args.page.
local title
local titleArg = args.page
if titleArg then
title = mw.title.new(titleArg)
else
title = mw.title.getCurrentTitle()
end
return title
end
function envFuncs.templateTitle()
--[[
-- The template (or module, etc.) title object.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
-- 'testcases-subpage' --> 'testcases'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local subpage = title.subpageText
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then
return mw.title.makeTitle(subjectSpace, title.baseText)
else
return mw.title.makeTitle(subjectSpace, title.text)
end
end
function envFuncs.docTitle()
--[[
-- Title object of the /doc subpage.
-- Messages:
-- 'doc-subpage' --> 'doc'
--]]
local title = env.title
local docname = args[1] -- User-specified doc page.
local docpage
if docname then
docpage = docname
else
docpage = env.docpageBase .. '/' .. message('doc-subpage')
end
return mw.title.new(docpage)
end
function envFuncs.sandboxTitle()
--[[
-- Title object for the /sandbox subpage.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage'))
end
function envFuncs.testcasesTitle()
--[[
-- Title object for the /testcases subpage.
-- Messages:
-- 'testcases-subpage' --> 'testcases'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
end
function envFuncs.subjectSpace()
-- The subject namespace number.
return mw.site.namespaces[env.title.namespace].subject.id
end
function envFuncs.docSpace()
-- The documentation namespace number. For most namespaces this is the
-- same as the subject namespace. However, pages in the Article, File,
-- MediaWiki or Category namespaces must have their /doc, /sandbox and
-- /testcases pages in talk space.
local subjectSpace = env.subjectSpace
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
return subjectSpace + 1
else
return subjectSpace
end
end
function envFuncs.docpageBase()
-- The base page of the /doc, /sandbox, and /testcases subpages.
-- For some namespaces this is the talk page, rather than the template page.
local templateTitle = env.templateTitle
local docSpace = env.docSpace
local docSpaceText = mw.site.namespaces[docSpace].name
-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.
return docSpaceText .. ':' .. templateTitle.text
end
function envFuncs.compareUrl()
-- Diff link between the sandbox and the main template using [[Special:ComparePages]].
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
if templateTitle.exists and sandboxTitle.exists then
local compareUrl = mw.uri.fullUrl(
'Special:ComparePages',
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
)
return tostring(compareUrl)
else
return nil
end
end
return env
end
----------------------------------------------------------------------------
-- Start box
----------------------------------------------------------------------------
p.startBox = makeInvokeFunc('_startBox')
function p._startBox(args, env)
--[[
-- This function generates the start box.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make
-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox
-- which generate the box HTML.
--]]
env = env or p.getEnvironment(args)
local links
local content = args.content
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
if linksData then
links = p.renderStartBoxLinks(linksData)
end
end
-- Generate the start box html.
local data = p.makeStartBoxData(args, env, links)
if data then
return p.renderStartBox(data)
else
-- User specified no heading.
return nil
end
end
function p.makeStartBoxLinksData(args, env)
--[[
-- Does initial processing of data to make the [view] [edit] [history] [purge] links.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'view-link-display' --> 'view'
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'purge-link-display' --> 'purge'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'docpage-preload' --> 'Template:Documentation/preload'
-- 'create-link-display' --> 'create'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local docTitle = env.docTitle
if not title or not docTitle then
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
local data = {}
data.title = title
data.docTitle = docTitle
-- View, display, edit, and purge links if /doc exists.
data.viewLinkDisplay = message('view-link-display')
data.editLinkDisplay = message('edit-link-display')
data.historyLinkDisplay = message('history-link-display')
data.purgeLinkDisplay = message('purge-link-display')
-- Create link if /doc doesn't exist.
local preload = args.preload
if not preload then
if subjectSpace == 828 then -- Module namespace
preload = message('module-preload')
else
preload = message('docpage-preload')
end
end
data.preload = preload
data.createLinkDisplay = message('create-link-display')
return data
end
function p.renderStartBoxLinks(data)
--[[
-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.
-- @data - a table of data generated by p.makeStartBoxLinksData
--]]
local function escapeBrackets(s)
-- Escapes square brackets with HTML entities.
s = s:gsub('%[', '[') -- Replace square brackets with HTML entities.
s = s:gsub('%]', ']')
return s
end
local ret
local docTitle = data.docTitle
local title = data.title
local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay)
if docTitle.exists then
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay)
local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay)
ret = '[%s] [%s] [%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink)
else
local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
ret = '[%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, createLink, purgeLink)
end
return ret
end
function p.makeStartBoxData(args, env, links)
--[=[
-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error.
--
-- Messages:
-- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- 'template-namespace-heading' --> 'Template documentation'
-- 'module-namespace-heading' --> 'Module documentation'
-- 'file-namespace-heading' --> 'Summary'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'testcases-create-link-display' --> 'create'
--]=]
local subjectSpace = env.subjectSpace
if not subjectSpace then
-- Default to an "other namespaces" namespace, so that we get at least some output
-- if an error occurs.
subjectSpace = 2
end
local data = {}
-- Heading
local heading = args.heading -- Blank values are not removed.
if heading == '' then
-- Don't display the start box if the heading arg is defined but blank.
return nil
end
if heading then
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading')
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading')
elseif subjectSpace == 6 then -- File namespace
data.heading = message('file-namespace-heading')
else
data.heading = message('other-namespaces-heading')
end
-- Heading CSS
local headingStyle = args['heading-style']
if headingStyle then
data.headingStyleText = headingStyle
else
-- 'documentation-heading'
data.headingClass = message('main-div-heading-class')
end
-- Data for the [view][edit][history][purge] or [create] links.
if links then
-- 'mw-editsection-like plainlinks'
data.linksClass = message('start-box-link-classes')
data.links = links
end
return data
end
function p.renderStartBox(data)
-- Renders the start box html.
-- @data - a table of data generated by p.makeStartBoxData.
local sbox = mw.html.create('div')
sbox
-- 'documentation-startbox'
:addClass(message('start-box-class'))
:newline()
:tag('span')
:addClass(data.headingClass)
:attr('id', 'documentation-heading')
:cssText(data.headingStyleText)
:wikitext(data.heading)
local links = data.links
if links then
sbox:tag('span')
:addClass(data.linksClass)
:attr('id', data.linksId)
:wikitext(links)
end
return tostring(sbox)
end
----------------------------------------------------------------------------
-- Documentation content
----------------------------------------------------------------------------
p.content = makeInvokeFunc('_content')
function p._content(args, env)
-- Displays the documentation contents
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
local content = args.content
if not content and docTitle and docTitle.exists then
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
-- of docs are interpreted correctly.
return '\n' .. (content or '') .. '\n'
end
p.contentTitle = makeInvokeFunc('_contentTitle')
function p._contentTitle(args, env)
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
if not args.content and docTitle and docTitle.exists then
return docTitle.prefixedText
else
return ''
end
end
----------------------------------------------------------------------------
-- End box
----------------------------------------------------------------------------
p.endBox = makeInvokeFunc('_endBox')
function p._endBox(args, env)
--[=[
-- This function generates the end box (also known as the link box).
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
--]=]
-- Get environment data.
env = env or p.getEnvironment(args)
local subjectSpace = env.subjectSpace
local docTitle = env.docTitle
if not subjectSpace or not docTitle then
return nil
end
-- Check whether we should output the end box at all. Add the end
-- box by default if the documentation exists or if we are in the
-- user, module or template namespaces.
local linkBox = args['link box']
if linkBox == 'off'
or not (
docTitle.exists
or subjectSpace == 2
or subjectSpace == 828
or subjectSpace == 10
)
then
return nil
end
-- Assemble the link box.
local text = ''
if linkBox then
text = text .. linkBox
else
text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]."
if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then
-- We are in the user, template or module namespaces.
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />'
if not args.content and not args[1] then
-- "Please add categories to the /doc subpage."
-- Don't show this message with inline docs or with an explicitly specified doc page,
-- as then it is unclear where to add the categories.
text = text .. (p.makeCategoriesBlurb(args, env) or '')
end
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
end
end
local box = mw.html.create('div')
-- 'documentation-metadata'
box:attr('role', 'note')
:addClass(message('end-box-class'))
-- 'plainlinks'
:addClass(message('end-box-plainlinks'))
:wikitext(text)
:done()
return '\n' .. tostring(box)
end
function p.makeDocPageBlurb(args, env)
--[=[
-- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)".
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'transcluded-from-blurb' -->
-- 'The above [[Wikipedia:Template documentation|documentation]]
-- is [[Help:Transclusion|transcluded]] from $1.'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'create-link-display' --> 'create'
-- 'create-module-doc-blurb' -->
-- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].'
--]=]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local ret
if docTitle.exists then
-- /doc exists; link to it.
local docLink = makeWikilink(docTitle.prefixedText)
local editUrl = docTitle:fullUrl{action = 'edit'}
local editDisplay = message('edit-link-display')
local editLink = makeUrlLink(editUrl, editDisplay)
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyDisplay = message('history-link-display')
local historyLink = makeUrlLink(historyUrl, historyDisplay)
ret = message('transcluded-from-blurb', {docLink})
.. ' '
.. makeToolbar(editLink, historyLink)
.. '<br />'
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
ret = message('create-module-doc-blurb', {createLink})
.. '<br />'
end
return ret
end
function p.makeExperimentBlurb(args, env)
--[[
-- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-link-display' --> 'sandbox'
-- 'sandbox-edit-link-display' --> 'edit'
-- 'compare-link-display' --> 'diff'
-- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'sandbox-create-link-display' --> 'create'
-- 'mirror-edit-summary' --> 'Create sandbox version of $1'
-- 'mirror-link-display' --> 'mirror'
-- 'mirror-link-preload' --> 'Template:Documentation/mirror'
-- 'sandbox-link-display' --> 'sandbox'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display'--> 'edit'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'testcases-create-link-display' --> 'create'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display' --> 'edit'
-- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases'
-- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases'
-- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.'
-- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
local testcasesTitle = env.testcasesTitle
local templatePage = templateTitle.prefixedText
if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then
return nil
end
-- Make links.
local sandboxLinks, testcasesLinks
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareLink
if compareUrl then
local compareDisplay = message('compare-link-display')
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink)
else
local sandboxPreload
if subjectSpace == 828 then
sandboxPreload = message('module-sandbox-preload')
else
sandboxPreload = message('template-sandbox-preload')
end
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload')
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
if subjectSpace == 828 then
mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
end
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink)
end
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
-- for Modules, add testcases run link if exists
if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink)
else
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
end
else
local testcasesPreload
if subjectSpace == 828 then
testcasesPreload = message('module-testcases-preload')
else
testcasesPreload = message('template-testcases-preload')
end
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink)
end
local messageName
if subjectSpace == 828 then
messageName = 'experiment-blurb-module'
else
messageName = 'experiment-blurb-template'
end
return message(messageName, {sandboxLinks, testcasesLinks})
end
function p.makeCategoriesBlurb(args, env)
--[[
-- Generates the text "Please add categories to the /doc subpage."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'doc-link-display' --> '/doc'
-- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.'
--]]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display'))
return message('add-categories-blurb', {docPathLink})
end
function p.makeSubpagesBlurb(args, env)
--[[
-- Generates the "Subpages of this template" link.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'template-pagetype' --> 'template'
-- 'module-pagetype' --> 'module'
-- 'default-pagetype' --> 'page'
-- 'subpages-link-display' --> 'Subpages of this $1'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
if not subjectSpace or not templateTitle then
return nil
end
local pagetype
if subjectSpace == 10 then
pagetype = message('template-pagetype')
elseif subjectSpace == 828 then
pagetype = message('module-pagetype')
else
pagetype = message('default-pagetype')
end
local subpagesLink = makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpages-link-display', {pagetype})
)
return message('subpages-blurb', {subpagesLink})
end
----------------------------------------------------------------------------
-- Tracking categories
----------------------------------------------------------------------------
function p.addTrackingCategories(env)
--[[
-- Check if {{documentation}} is transcluded on a /doc or /testcases page.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'display-strange-usage-category' --> true
-- 'doc-subpage' --> 'doc'
-- 'testcases-subpage' --> 'testcases'
-- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage'
--
-- /testcases pages in the module namespace are not categorised, as they may have
-- {{documentation}} transcluded automatically.
--]]
local title = env.title
local subjectSpace = env.subjectSpace
if not title or not subjectSpace then
return nil
end
local subpage = title.subpageText
local ret = ''
if message('display-strange-usage-category', nil, 'boolean')
and (
subpage == message('doc-subpage')
or subjectSpace ~= 828 and subpage == message('testcases-subpage')
)
then
ret = ret .. makeCategoryLink(message('strange-usage-category'))
end
return ret
end
return p
78cc3a78f2b5dbb267fa16027c0800a22dbd3c42
Module:Documentation/config
828
71
186
185
2023-03-30T08:29:46Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
----------------------------------------------------------------------------------------------------
--
-- Configuration for Module:Documentation
--
-- Here you can set the values of the parameters and messages used in Module:Documentation to
-- localise it to your wiki and your language. Unless specified otherwise, values given here
-- should be string values.
----------------------------------------------------------------------------------------------------
local cfg = {} -- Do not edit this line.
----------------------------------------------------------------------------------------------------
-- Start box configuration
----------------------------------------------------------------------------------------------------
-- cfg['documentation-icon-wikitext']
-- The wikitext for the icon shown at the top of the template.
cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- cfg['template-namespace-heading']
-- The heading shown in the template namespace.
cfg['template-namespace-heading'] = 'Template documentation'
-- cfg['module-namespace-heading']
-- The heading shown in the module namespace.
cfg['module-namespace-heading'] = 'Module documentation'
-- cfg['file-namespace-heading']
-- The heading shown in the file namespace.
cfg['file-namespace-heading'] = 'Summary'
-- cfg['other-namespaces-heading']
-- The heading shown in other namespaces.
cfg['other-namespaces-heading'] = 'Documentation'
-- cfg['view-link-display']
-- The text to display for "view" links.
cfg['view-link-display'] = 'view'
-- cfg['edit-link-display']
-- The text to display for "edit" links.
cfg['edit-link-display'] = 'edit'
-- cfg['history-link-display']
-- The text to display for "history" links.
cfg['history-link-display'] = 'history'
-- cfg['purge-link-display']
-- The text to display for "purge" links.
cfg['purge-link-display'] = 'purge'
-- cfg['create-link-display']
-- The text to display for "create" links.
cfg['create-link-display'] = 'create'
----------------------------------------------------------------------------------------------------
-- Link box (end box) configuration
----------------------------------------------------------------------------------------------------
-- cfg['transcluded-from-blurb']
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.
cfg['transcluded-from-blurb'] = 'The above [[w:Wikipedia:Template documentation|documentation]] is [[mw:Help:Transclusion|transcluded]] from $1.'
--[[
-- cfg['create-module-doc-blurb']
-- Notice displayed in the module namespace when the documentation subpage does not exist.
-- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the
-- display cfg['create-link-display'].
--]]
cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[mw:Extension:Scribunto/Lua reference manual|Scribunto module]].'
----------------------------------------------------------------------------------------------------
-- Experiment blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['experiment-blurb-template']
-- cfg['experiment-blurb-module']
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.
-- It is only shown in the template and module namespaces. With the default English settings, it
-- might look like this:
--
-- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages.
--
-- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links.
--
-- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending
-- on what namespace we are in.
--
-- Parameters:
--
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display'])
--
-- If the sandbox doesn't exist, it is in the format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display'])
--
-- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload']
-- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display']
-- loads a default edit summary of cfg['mirror-edit-summary'].
--
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:
--
-- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display'])
--
-- If the test cases page doesn't exist, it is in the format:
--
-- cfg['testcases-link-display'] (cfg['testcases-create-link-display'])
--
-- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the
-- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current
-- namespace.
--]]
cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages."
cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages."
----------------------------------------------------------------------------------------------------
-- Sandbox link configuration
----------------------------------------------------------------------------------------------------
-- cfg['sandbox-subpage']
-- The name of the template subpage typically used for sandboxes.
cfg['sandbox-subpage'] = 'sandbox'
-- cfg['template-sandbox-preload']
-- Preload file for template sandbox pages.
cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox'
-- cfg['module-sandbox-preload']
-- Preload file for Lua module sandbox pages.
cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox'
-- cfg['sandbox-link-display']
-- The text to display for "sandbox" links.
cfg['sandbox-link-display'] = 'sandbox'
-- cfg['sandbox-edit-link-display']
-- The text to display for sandbox "edit" links.
cfg['sandbox-edit-link-display'] = 'edit'
-- cfg['sandbox-create-link-display']
-- The text to display for sandbox "create" links.
cfg['sandbox-create-link-display'] = 'create'
-- cfg['compare-link-display']
-- The text to display for "compare" links.
cfg['compare-link-display'] = 'diff'
-- cfg['mirror-edit-summary']
-- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the
-- template page.
cfg['mirror-edit-summary'] = 'Create sandbox version of $1'
-- cfg['mirror-link-display']
-- The text to display for "mirror" links.
cfg['mirror-link-display'] = 'mirror'
-- cfg['mirror-link-preload']
-- The page to preload when a user clicks the "mirror" link.
cfg['mirror-link-preload'] = 'Template:Documentation/mirror'
----------------------------------------------------------------------------------------------------
-- Test cases link configuration
----------------------------------------------------------------------------------------------------
-- cfg['testcases-subpage']
-- The name of the template subpage typically used for test cases.
cfg['testcases-subpage'] = 'testcases'
-- cfg['template-testcases-preload']
-- Preload file for template test cases pages.
cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases'
-- cfg['module-testcases-preload']
-- Preload file for Lua module test cases pages.
cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases'
-- cfg['testcases-link-display']
-- The text to display for "testcases" links.
cfg['testcases-link-display'] = 'testcases'
-- cfg['testcases-edit-link-display']
-- The text to display for test cases "edit" links.
cfg['testcases-edit-link-display'] = 'edit'
-- cfg['testcases-run-link-display']
-- The text to display for test cases "run" links.
cfg['testcases-run-link-display'] = 'run'
-- cfg['testcases-create-link-display']
-- The text to display for test cases "create" links.
cfg['testcases-create-link-display'] = 'create'
----------------------------------------------------------------------------------------------------
-- Add categories blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['add-categories-blurb']
-- Text to direct users to add categories to the /doc subpage. Not used if the "content" or
-- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a
-- link to the /doc subpage with a display value of cfg['doc-link-display'].
--]]
cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.'
-- cfg['doc-link-display']
-- The text to display when linking to the /doc subpage.
cfg['doc-link-display'] = '/doc'
----------------------------------------------------------------------------------------------------
-- Subpages link configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['subpages-blurb']
-- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a
-- display value of cfg['subpages-link-display']. In the English version this blurb is simply
-- the link followed by a period, and the link display provides the actual text.
--]]
cfg['subpages-blurb'] = '$1.'
--[[
-- cfg['subpages-link-display']
-- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'],
-- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in
-- the template namespace, the module namespace, or another namespace.
--]]
cfg['subpages-link-display'] = 'Subpages of this $1'
-- cfg['template-pagetype']
-- The pagetype to display for template pages.
cfg['template-pagetype'] = 'template'
-- cfg['module-pagetype']
-- The pagetype to display for Lua module pages.
cfg['module-pagetype'] = 'module'
-- cfg['default-pagetype']
-- The pagetype to display for pages other than templates or Lua modules.
cfg['default-pagetype'] = 'page'
----------------------------------------------------------------------------------------------------
-- Doc link configuration
----------------------------------------------------------------------------------------------------
-- cfg['doc-subpage']
-- The name of the subpage typically used for documentation pages.
cfg['doc-subpage'] = 'doc'
-- cfg['docpage-preload']
-- Preload file for template documentation pages in all namespaces.
cfg['docpage-preload'] = 'Template:Documentation/preload'
-- cfg['module-preload']
-- Preload file for Lua module documentation pages.
cfg['module-preload'] = 'Template:Documentation/preload-module-doc'
----------------------------------------------------------------------------------------------------
-- HTML and CSS configuration
----------------------------------------------------------------------------------------------------
-- cfg['templatestyles']
-- The name of the TemplateStyles page where CSS is kept.
-- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed.
cfg['templatestyles'] = 'Module:Documentation/styles.css'
-- cfg['container']
-- Class which can be used to set flex or grid CSS on the
-- two child divs documentation and documentation-metadata
cfg['container'] = 'documentation-container'
-- cfg['main-div-classes']
-- Classes added to the main HTML "div" tag.
cfg['main-div-classes'] = 'documentation'
-- cfg['main-div-heading-class']
-- Class for the main heading for templates and modules and assoc. talk spaces
cfg['main-div-heading-class'] = 'documentation-heading'
-- cfg['start-box-class']
-- Class for the start box
cfg['start-box-class'] = 'documentation-startbox'
-- cfg['start-box-link-classes']
-- Classes used for the [view][edit][history] or [create] links in the start box.
-- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]]
cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks'
-- cfg['end-box-class']
-- Class for the end box.
cfg['end-box-class'] = 'documentation-metadata'
-- cfg['end-box-plainlinks']
-- Plainlinks
cfg['end-box-plainlinks'] = 'plainlinks'
-- cfg['toolbar-class']
-- Class added for toolbar links.
cfg['toolbar-class'] = 'documentation-toolbar'
-- cfg['clear']
-- Just used to clear things.
cfg['clear'] = 'documentation-clear'
----------------------------------------------------------------------------------------------------
-- Tracking category configuration
----------------------------------------------------------------------------------------------------
-- cfg['display-strange-usage-category']
-- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage
-- or a /testcases subpage. This should be a boolean value (either true or false).
cfg['display-strange-usage-category'] = true
-- cfg['strange-usage-category']
-- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a
-- /doc subpage or a /testcases subpage.
cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage'
--[[
----------------------------------------------------------------------------------------------------
-- End configuration
--
-- Don't edit anything below this line.
----------------------------------------------------------------------------------------------------
--]]
return cfg
d70e8b1402a2bbe08a1fef4b75d743e661af0c95
Module:Message box
828
73
190
189
2023-03-30T08:29:47Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
-- This is a meta-module for producing message box templates, including
-- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}.
-- Load necessary modules.
require('Module:No globals')
local getArgs
local yesno = require('Module:Yesno')
local templatestyles = 'Module:Message box/styles.css'
-- Get a language object for formatDate and ucfirst.
local lang = mw.language.getContentLanguage()
-- Define constants
local CONFIG_MODULE = 'Module:Message box/configuration'
local DEMOSPACES = {user = 'tmbox', talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'}
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
local function getTitleObject(...)
-- Get the title object, passing the function through pcall
-- in case we are over the expensive function count limit.
local success, title = pcall(mw.title.new, ...)
if success then
return title
end
end
local function union(t1, t2)
-- Returns the union of two arrays.
local vals = {}
for i, v in ipairs(t1) do
vals[v] = true
end
for i, v in ipairs(t2) do
vals[v] = true
end
local ret = {}
for k in pairs(vals) do
table.insert(ret, k)
end
table.sort(ret)
return ret
end
local function getArgNums(args, prefix)
local nums = {}
for k, v in pairs(args) do
local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$')
if num then
table.insert(nums, tonumber(num))
end
end
table.sort(nums)
return nums
end
--------------------------------------------------------------------------------
-- Box class definition
--------------------------------------------------------------------------------
local MessageBox = {}
MessageBox.__index = MessageBox
function MessageBox.new(boxType, args, cfg)
args = args or {}
local obj = {}
-- Set the title object and the namespace.
obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()
-- Set the config for our box type.
obj.cfg = cfg[boxType]
if not obj.cfg then
local ns = obj.title.namespace
-- boxType is "mbox" or invalid input
if args.demospace and args.demospace ~= '' then
-- implement demospace parameter of mbox
local demospace = string.lower(args.demospace)
if DEMOSPACES[demospace] then
-- use template from DEMOSPACES
obj.cfg = cfg[DEMOSPACES[demospace]]
elseif string.find( demospace, 'talk' ) then
-- demo as a talk page
obj.cfg = cfg.tmbox
else
-- default to ombox
obj.cfg = cfg.ombox
end
elseif ns == 0 then
obj.cfg = cfg.ambox -- main namespace
elseif ns == 6 then
obj.cfg = cfg.imbox -- file namespace
elseif ns == 14 then
obj.cfg = cfg.cmbox -- category namespace
else
local nsTable = mw.site.namespaces[ns]
if nsTable and nsTable.isTalk then
obj.cfg = cfg.tmbox -- any talk namespace
else
obj.cfg = cfg.ombox -- other namespaces or invalid input
end
end
end
-- Set the arguments, and remove all blank arguments except for the ones
-- listed in cfg.allowBlankParams.
do
local newArgs = {}
for k, v in pairs(args) do
if v ~= '' then
newArgs[k] = v
end
end
for i, param in ipairs(obj.cfg.allowBlankParams or {}) do
newArgs[param] = args[param]
end
obj.args = newArgs
end
-- Define internal data structure.
obj.categories = {}
obj.classes = {}
-- For lazy loading of [[Module:Category handler]].
obj.hasCategories = false
return setmetatable(obj, MessageBox)
end
function MessageBox:addCat(ns, cat, sort)
if not cat then
return nil
end
if sort then
cat = string.format('[[Category:%s|%s]]', cat, sort)
else
cat = string.format('[[Category:%s]]', cat)
end
self.hasCategories = true
self.categories[ns] = self.categories[ns] or {}
table.insert(self.categories[ns], cat)
end
function MessageBox:addClass(class)
if not class then
return nil
end
table.insert(self.classes, class)
end
function MessageBox:setParameters()
local args = self.args
local cfg = self.cfg
-- Get type data.
self.type = args.type
local typeData = cfg.types[self.type]
self.invalidTypeError = cfg.showInvalidTypeError
and self.type
and not typeData
typeData = typeData or cfg.types[cfg.default]
self.typeClass = typeData.class
self.typeImage = typeData.image
-- Find whether we are using a small message box.
self.isSmall = cfg.allowSmall and (
cfg.smallParam and args.small == cfg.smallParam
or not cfg.smallParam and yesno(args.small)
)
-- Add attributes, classes and styles.
self.id = args.id
self.name = args.name
if self.name then
self:addClass('box-' .. string.gsub(self.name,' ','_'))
end
if yesno(args.plainlinks) ~= false then
self:addClass('plainlinks')
end
for _, class in ipairs(cfg.classes or {}) do
self:addClass(class)
end
if self.isSmall then
self:addClass(cfg.smallClass or 'mbox-small')
end
self:addClass(self.typeClass)
self:addClass(args.class)
self.style = args.style
self.attrs = args.attrs
-- Set text style.
self.textstyle = args.textstyle
-- Find if we are on the template page or not. This functionality is only
-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory
-- and cfg.templateCategoryRequireName are set.
self.useCollapsibleTextFields = cfg.useCollapsibleTextFields
if self.useCollapsibleTextFields
or cfg.templateCategory
and cfg.templateCategoryRequireName
then
if self.name then
local templateName = mw.ustring.match(
self.name,
'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'
) or self.name
templateName = 'Template:' .. templateName
self.templateTitle = getTitleObject(templateName)
end
self.isTemplatePage = self.templateTitle
and mw.title.equals(self.title, self.templateTitle)
end
-- Process data for collapsible text fields. At the moment these are only
-- used in {{ambox}}.
if self.useCollapsibleTextFields then
-- Get the self.issue value.
if self.isSmall and args.smalltext then
self.issue = args.smalltext
else
local sect
if args.sect == '' then
sect = 'This ' .. (cfg.sectionDefault or 'page')
elseif type(args.sect) == 'string' then
sect = 'This ' .. args.sect
end
local issue = args.issue
issue = type(issue) == 'string' and issue ~= '' and issue or nil
local text = args.text
text = type(text) == 'string' and text or nil
local issues = {}
table.insert(issues, sect)
table.insert(issues, issue)
table.insert(issues, text)
self.issue = table.concat(issues, ' ')
end
-- Get the self.talk value.
local talk = args.talk
-- Show talk links on the template page or template subpages if the talk
-- parameter is blank.
if talk == ''
and self.templateTitle
and (
mw.title.equals(self.templateTitle, self.title)
or self.title:isSubpageOf(self.templateTitle)
)
then
talk = '#'
elseif talk == '' then
talk = nil
end
if talk then
-- If the talk value is a talk page, make a link to that page. Else
-- assume that it's a section heading, and make a link to the talk
-- page of the current page with that section heading.
local talkTitle = getTitleObject(talk)
local talkArgIsTalkPage = true
if not talkTitle or not talkTitle.isTalkPage then
talkArgIsTalkPage = false
talkTitle = getTitleObject(
self.title.text,
mw.site.namespaces[self.title.namespace].talk.id
)
end
if talkTitle and talkTitle.exists then
local talkText = 'Relevant discussion may be found on'
if talkArgIsTalkPage then
talkText = string.format(
'%s [[%s|%s]].',
talkText,
talk,
talkTitle.prefixedText
)
else
talkText = string.format(
'%s the [[%s#%s|talk page]].',
talkText,
talkTitle.prefixedText,
talk
)
end
self.talk = talkText
end
end
-- Get other values.
self.fix = args.fix ~= '' and args.fix or nil
local date
if args.date and args.date ~= '' then
date = args.date
elseif args.date == '' and self.isTemplatePage then
date = lang:formatDate('F Y')
end
if date then
self.date = string.format(" <small class='date-container'>''(<span class='date'>%s</span>)''</small>", date)
end
self.info = args.info
end
-- Set the non-collapsible text field. At the moment this is used by all box
-- types other than ambox, and also by ambox when small=yes.
if self.isSmall then
self.text = args.smalltext or args.text
else
self.text = args.text
end
-- Set the below row.
self.below = cfg.below and args.below
-- General image settings.
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv
self.imageEmptyCell = cfg.imageEmptyCell
if cfg.imageEmptyCellStyle then
self.imageEmptyCellStyle = 'border:none;padding:0px;width:1px'
end
-- Left image settings.
local imageLeft = self.isSmall and args.smallimage or args.image
if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none'
or not cfg.imageCheckBlank and imageLeft ~= 'none'
then
self.imageLeft = imageLeft
if not imageLeft then
local imageSize = self.isSmall
and (cfg.imageSmallSize or '30x30px')
or '40x40px'
self.imageLeft = string.format('[[File:%s|%s|link=|alt=]]', self.typeImage
or 'Imbox notice.png', imageSize)
end
end
-- Right image settings.
local imageRight = self.isSmall and args.smallimageright or args.imageright
if not (cfg.imageRightNone and imageRight == 'none') then
self.imageRight = imageRight
end
end
function MessageBox:setMainspaceCategories()
local args = self.args
local cfg = self.cfg
if not cfg.allowMainspaceCategories then
return nil
end
local nums = {}
for _, prefix in ipairs{'cat', 'category', 'all'} do
args[prefix .. '1'] = args[prefix]
nums = union(nums, getArgNums(args, prefix))
end
-- The following is roughly equivalent to the old {{Ambox/category}}.
local date = args.date
date = type(date) == 'string' and date
local preposition = 'from'
for _, num in ipairs(nums) do
local mainCat = args['cat' .. tostring(num)]
or args['category' .. tostring(num)]
local allCat = args['all' .. tostring(num)]
mainCat = type(mainCat) == 'string' and mainCat
allCat = type(allCat) == 'string' and allCat
if mainCat and date and date ~= '' then
local catTitle = string.format('%s %s %s', mainCat, preposition, date)
self:addCat(0, catTitle)
catTitle = getTitleObject('Category:' .. catTitle)
if not catTitle or not catTitle.exists then
self:addCat(0, 'Articles with invalid date parameter in template')
end
elseif mainCat and (not date or date == '') then
self:addCat(0, mainCat)
end
if allCat then
self:addCat(0, allCat)
end
end
end
function MessageBox:setTemplateCategories()
local args = self.args
local cfg = self.cfg
-- Add template categories.
if cfg.templateCategory then
if cfg.templateCategoryRequireName then
if self.isTemplatePage then
self:addCat(10, cfg.templateCategory)
end
elseif not self.title.isSubpage then
self:addCat(10, cfg.templateCategory)
end
end
-- Add template error categories.
if cfg.templateErrorCategory then
local templateErrorCategory = cfg.templateErrorCategory
local templateCat, templateSort
if not self.name and not self.title.isSubpage then
templateCat = templateErrorCategory
elseif self.isTemplatePage then
local paramsToCheck = cfg.templateErrorParamsToCheck or {}
local count = 0
for i, param in ipairs(paramsToCheck) do
if not args[param] then
count = count + 1
end
end
if count > 0 then
templateCat = templateErrorCategory
templateSort = tostring(count)
end
if self.categoryNums and #self.categoryNums > 0 then
templateCat = templateErrorCategory
templateSort = 'C'
end
end
self:addCat(10, templateCat, templateSort)
end
end
function MessageBox:setAllNamespaceCategories()
-- Set categories for all namespaces.
if self.invalidTypeError then
local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText
self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort)
end
end
function MessageBox:setCategories()
if self.title.namespace == 0 then
self:setMainspaceCategories()
elseif self.title.namespace == 10 then
self:setTemplateCategories()
end
self:setAllNamespaceCategories()
end
function MessageBox:renderCategories()
if not self.hasCategories then
-- No categories added, no need to pass them to Category handler so,
-- if it was invoked, it would return the empty string.
-- So we shortcut and return the empty string.
return ""
end
-- Convert category tables to strings and pass them through
-- [[Module:Category handler]].
return require('Module:Category handler')._main{
main = table.concat(self.categories[0] or {}),
template = table.concat(self.categories[10] or {}),
all = table.concat(self.categories.all or {}),
nocat = self.args.nocat,
page = self.args.page
}
end
function MessageBox:export()
local root = mw.html.create()
-- Create the box table.
local boxTable = root:tag('table')
boxTable:attr('id', self.id or nil)
for i, class in ipairs(self.classes or {}) do
boxTable:addClass(class or nil)
end
boxTable
:cssText(self.style or nil)
:attr('role', 'presentation')
if self.attrs then
boxTable:attr(self.attrs)
end
-- Add the left-hand image.
local row = boxTable:tag('tr')
if self.imageLeft then
local imageLeftCell = row:tag('td'):addClass('mbox-image')
if self.imageCellDiv then
-- If we are using a div, redefine imageLeftCell so that the image
-- is inside it. Divs use style="width: 52px;", which limits the
-- image width to 52px. If any images in a div are wider than that,
-- they may overlap with the text or cause other display problems.
imageLeftCell = imageLeftCell:tag('div'):css('width', '52px')
end
imageLeftCell:wikitext(self.imageLeft or nil)
elseif self.imageEmptyCell then
-- Some message boxes define an empty cell if no image is specified, and
-- some don't. The old template code in templates where empty cells are
-- specified gives the following hint: "No image. Cell with some width
-- or padding necessary for text cell to have 100% width."
row:tag('td')
:addClass('mbox-empty-cell')
:cssText(self.imageEmptyCellStyle or nil)
end
-- Add the text.
local textCell = row:tag('td'):addClass('mbox-text')
if self.useCollapsibleTextFields then
-- The message box uses advanced text parameters that allow things to be
-- collapsible. At the moment, only ambox uses this.
textCell:cssText(self.textstyle or nil)
local textCellDiv = textCell:tag('div')
textCellDiv
:addClass('mbox-text-span')
:wikitext(self.issue or nil)
if (self.talk or self.fix) and not self.isSmall then
textCellDiv:tag('span')
:addClass('hide-when-compact')
:wikitext(self.talk and (' ' .. self.talk) or nil)
:wikitext(self.fix and (' ' .. self.fix) or nil)
end
textCellDiv:wikitext(self.date and (' ' .. self.date) or nil)
if self.info and not self.isSmall then
textCellDiv
:tag('span')
:addClass('hide-when-compact')
:wikitext(self.info and (' ' .. self.info) or nil)
end
else
-- Default text formatting - anything goes.
textCell
:cssText(self.textstyle or nil)
:wikitext(self.text or nil)
end
-- Add the right-hand image.
if self.imageRight then
local imageRightCell = row:tag('td'):addClass('mbox-imageright')
if self.imageCellDiv then
-- If we are using a div, redefine imageRightCell so that the image
-- is inside it.
imageRightCell = imageRightCell:tag('div'):css('width', '52px')
end
imageRightCell
:wikitext(self.imageRight or nil)
end
-- Add the below row.
if self.below then
boxTable:tag('tr')
:tag('td')
:attr('colspan', self.imageRight and '3' or '2')
:addClass('mbox-text')
:cssText(self.textstyle or nil)
:wikitext(self.below or nil)
end
-- Add error message for invalid type parameters.
if self.invalidTypeError then
root:tag('div')
:css('text-align', 'center')
:wikitext(string.format(
'This message box is using an invalid "type=%s" parameter and needs fixing.',
self.type or ''
))
end
-- Add categories.
root:wikitext(self:renderCategories() or nil)
return tostring(root)
end
--------------------------------------------------------------------------------
-- Exports
--------------------------------------------------------------------------------
local p, mt = {}, {}
function p._exportClasses()
-- For testing.
return {
MessageBox = MessageBox
}
end
function p.main(boxType, args, cfgTables)
local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE))
box:setParameters()
box:setCategories()
return box:export()
end
local function templatestyles(frame, src)
return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = templatestyles} }
.. 'CONFIG_MODULE'
end
function mt.__index(t, k)
return function (frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))
end
end
return setmetatable(p, mt)
be00cd389f9f2afcd361e5d5e33622839555cbd9
Module:Message box/configuration
828
74
192
191
2023-03-30T08:29:49Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
--------------------------------------------------------------------------------
-- Message box configuration --
-- --
-- This module contains configuration data for [[Module:Message box]]. --
--------------------------------------------------------------------------------
return {
ambox = {
types = {
speedy = {
class = 'ambox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ambox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ambox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ambox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ambox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ambox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ambox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'hidden'},
allowSmall = true,
smallParam = 'left',
smallClass = 'mbox-small-left',
classes = {'metadata', 'ambox'},
imageEmptyCell = true,
imageCheckBlank = true,
imageSmallSize = '20x20px',
imageCellDiv = true,
useCollapsibleTextFields = true,
imageRightNone = true,
sectionDefault = 'article',
allowMainspaceCategories = true,
templateCategory = 'Article message templates',
templateCategoryRequireName = true,
templateErrorCategory = 'Article message templates with missing parameters',
templateErrorParamsToCheck = {'issue', 'fix'},
},
cmbox = {
types = {
speedy = {
class = 'cmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'cmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'cmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'cmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'cmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'cmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'cmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'cmbox'},
imageEmptyCell = true
},
fmbox = {
types = {
warning = {
class = 'fmbox-warning',
image = 'Ambox warning pn.svg'
},
editnotice = {
class = 'fmbox-editnotice',
image = 'Information icon4.svg'
},
system = {
class = 'fmbox-system',
image = 'Information icon4.svg'
}
},
default = 'system',
showInvalidTypeError = true,
classes = {'fmbox'},
imageEmptyCell = false,
imageRightNone = false
},
imbox = {
types = {
speedy = {
class = 'imbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'imbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'imbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'imbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'imbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'imbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
license = {
class = 'imbox-license licensetpl',
image = 'Imbox license.png' -- @todo We need an SVG version of this
},
featured = {
class = 'imbox-featured',
image = 'Cscr-featured.svg'
},
notice = {
class = 'imbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'imbox'},
imageEmptyCell = true,
below = true,
templateCategory = 'File message boxes'
},
ombox = {
types = {
speedy = {
class = 'ombox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ombox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ombox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ombox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ombox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ombox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ombox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'ombox'},
allowSmall = true,
imageEmptyCell = true,
imageRightNone = true
},
tmbox = {
types = {
speedy = {
class = 'tmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'tmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'tmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'tmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'tmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'tmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'tmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'tmbox'},
allowSmall = true,
imageRightNone = true,
imageEmptyCell = true,
imageEmptyCellStyle = true,
templateCategory = 'Talk message boxes'
}
}
c6bd9191861b23e474e12b19c694335c4bc3af5f
Module:No globals
828
75
194
193
2023-03-30T08:29:49Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' then
error('Tried to read nil global ' .. tostring(k), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' then
error('Tried to write global ' .. tostring(k), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)
8ce3969f7d53b08bd00dabe4cc9780bc6afd412a
Module:Yesno
828
76
196
195
2023-03-30T08:29:50Z
Werewire
2
1 revision imported: added templates
Scribunto
text/plain
-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.
return function (val, default)
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
-- following line.
val = type(val) == 'string' and val:lower() or val
if val == nil then
return nil
elseif val == true
or val == 'yes'
or val == 'y'
or val == 'true'
or val == 't'
or val == 'on'
or tonumber(val) == 1
then
return true
elseif val == false
or val == 'no'
or val == 'n'
or val == 'false'
or val == 'f'
or val == 'off'
or tonumber(val) == 0
then
return false
else
return default
end
end
f767643e7d12126d020d88d662a3dd057817b9dc
Template:Header/doc
10
77
198
197
2023-03-30T08:29:50Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
{{documentation subpage}}
==Usage==
<pre>
{{header
| title =
| shortcut =
| notes =
| topbarhex =
| bodyhex =
| titlecolor =
| bodycolor =
}}
</pre>
===Relative links===
On pages with many subpages, using [[m:Help:Link#Subpage_feature|relative links]] is highly recommended. This shortens the code and ensures that pages remain linked together, even if the overall system is moved or reorganised. The three formats are <nowiki>[[/subpage]]</nowiki> (subpage), <nowiki>[[../]]</nowiki> (parent), and <nowiki>[[../sibling]]</nowiki> (sibling); see the example usage below. Note that <nowiki>[[../]]</nowiki> will expand to the title of the parent page, which is ideal if the page is renamed at a later time.
==See also==
{{#lst:Template:Template list|header-templates}}
5765ffdddc2682eb2227083ebcc24a126128ac5d
Template:Template list
10
78
200
199
2023-03-30T08:29:51Z
Werewire
2
1 revision imported: added templates
wikitext
text/x-wiki
== Resolution templates ==
: ''Category: [[:Category:Resolution templates|Resolution templates]]''
<section begin=resolution-templates/>
* {{tl|done}} - {{done}}
* {{tl|not done}} - {{not done}}
* {{tl|doing}} - {{doing}}
* {{tl|comment}} - {{comment}}
<section end=resolution-templates/>
== Voting templates ==
: ''Category: [[:Category:Voting templates|Voting templates]]''
<section begin=voting-templates/>
* {{tl|support}} - {{support}}
* {{tl|oppose}} - {{oppose}}
* {{tl|abstain}} - {{abstain}}
* {{tl|neutral}} - {{neutral}}
<section end=voting-templates/>
=== Social media userboxes ===
: ''Category: [[:Category:Social media userboxes|Social media userboxes]]''
<section begin=social-media-userboxes/>
{| class="wikitable"
|-
<noinclude>! Template !! Result
|-</noinclude>
| {{tl|User discord}} || {{User discord|nocat=yes}}
|-
| {{tl|User github}} || {{User github|nocat=yes}}
|-
| {{tl|User instagram}} || {{User instagram|nocat=yes}}
|-
| {{tl|User IRC}} || {{User IRC|nocat=yes}}
|-
| {{tl|User twitter}} || {{User twitter|nocat=yes}}
|-
| {{tl|User wikimedia}} || {{User wikimedia|nocat=yes}}
|-
| {{tl|User youtube}} || {{User youtube|nocat=yes}}
|}
<section end=social-media-userboxes/>
[[Category:Templates| ]]
01b67cea315305492f35a33e0a2943a6f7b44773
Template:See also
10
79
202
201
2023-03-30T08:33:07Z
Werewire
2
1 revision imported: added see also template
wikitext
text/x-wiki
{{hatnote|extraclasses=boilerplate seealso|{{{altphrase|See also}}}: {{#if:{{{1<includeonly>|</includeonly>}}} |<!--then:-->[[:{{{1}}}{{#if:{{{label 1|{{{l1|}}}}}}|{{!}}{{{label 1|{{{l1}}}}}}}}]] |<!--else:-->'''Error: [[Template:See also|Template must be given at least one article name]]'''
}}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, | and }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]]
}}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |, and }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]]
}}{{#if:{{{4|}}}|{{#if:{{{5|}}}|, |, and }} [[:{{{4}}}{{#if:{{{label 4|{{{l4|}}}}}}|{{!}}{{{label 4|{{{l4}}}}}}}}]]
}}{{#if:{{{5|}}}|{{#if:{{{6|}}}|, |, and }} [[:{{{5}}}{{#if:{{{label 5|{{{l5|}}}}}}|{{!}}{{{label 5|{{{l5}}}}}}}}]]
}}{{#if:{{{6|}}}|{{#if:{{{7|}}}|, |, and }} [[:{{{6}}}{{#if:{{{label 6|{{{l6|}}}}}}|{{!}}{{{label 6|{{{l6}}}}}}}}]]
}}{{#if:{{{7|}}}|{{#if:{{{8|}}}|, |, and }} [[:{{{7}}}{{#if:{{{label 7|{{{l7|}}}}}}|{{!}}{{{label 7|{{{l7}}}}}}}}]]
}}{{#if:{{{8|}}}|{{#if:{{{9|}}}|, |, and }} [[:{{{8}}}{{#if:{{{label 8|{{{l8|}}}}}}|{{!}}{{{label 8|{{{l8}}}}}}}}]]
}}{{#if:{{{9|}}}|{{#if:{{{10|}}}|, |, and }} [[:{{{9}}}{{#if:{{{label 9|{{{l9|}}}}}}|{{!}}{{{label 9|{{{l9}}}}}}}}]]
}}{{#if:{{{10|}}}|{{#if:{{{11|}}}|, |, and }} [[:{{{10}}}{{#if:{{{label 10|{{{l10|}}}}}}|{{!}}{{{label 10|{{{l10}}}}}}}}]]
}}{{#if:{{{11|}}}|{{#if:{{{12|}}}|, |, and }} [[:{{{11}}}{{#if:{{{label 11|{{{l11|}}}}}}|{{!}}{{{label 11|{{{l11}}}}}}}}]]
}}{{#if:{{{12|}}}|{{#if:{{{13|}}}|, |, and }} [[:{{{12}}}{{#if:{{{label 12|{{{l12|}}}}}}|{{!}}{{{label 12|{{{l12}}}}}}}}]]
}}{{#if:{{{13|}}}|{{#if:{{{14|}}}|, |, and }} [[:{{{13}}}{{#if:{{{label 13|{{{l13|}}}}}}|{{!}}{{{label 13|{{{l13}}}}}}}}]]
}}{{#if:{{{14|}}}|{{#if:{{{15|}}}|, |, and }} [[:{{{14}}}{{#if:{{{label 14|{{{l14|}}}}}}|{{!}}{{{label 14|{{{l14}}}}}}}}]]
}}{{#if:{{{15|}}}|, and [[:{{{15}}}{{#if:{{{label 15|{{{l15|}}} }}}|{{!}}{{{label 15|{{{l15|}}} }}} }}]]
}}{{#if:{{{16|}}}| — '''<br/>Error: [[Template:See also|Too many links specified (maximum is 15)]]'''
}}}}<noinclude>
{{documentation}}
</noinclude>
0315f43d7e4b679054955c7a50fe554ab1df63de
Module:Documentation/styles.css
828
72
204
188
2023-03-30T08:33:09Z
Werewire
2
1 revision imported: added see also template
text
text/plain
.documentation,
.documentation-metadata {
border: 1px solid #a2a9b1;
background-color: #ecfcf4;
clear: both;
}
.documentation {
margin: 1em 0 0 0;
padding: 1em;
}
.documentation-metadata {
margin: 0.2em 0; /* same margin left-right as .documentation */
font-style: italic;
padding: 0.4em 1em; /* same padding left-right as .documentation */
}
.documentation-startbox {
padding-bottom: 3px;
border-bottom: 1px solid #aaa;
margin-bottom: 1ex;
}
.documentation-heading {
font-weight: bold;
font-size: 125%;
}
.documentation-clear { /* Don't want things to stick out where they shouldn't. */
clear: both;
}
.documentation-toolbar {
font-style: normal;
font-size: 85%;
}
37daf53a6ac29b7858ece6841d9f2d2f980a5366
Template:Hatnote
10
80
206
205
2023-03-30T08:33:13Z
Werewire
2
1 revision imported: added see also template
wikitext
text/x-wiki
<div style="margin-left:2em; margin-right: 2em;>''{{{1}}}''</div>
<!-- The wikipedia templates uses :, which generated dd and dt tags. That is not ideal for accessibility. --><noinclude>
This is a general purpose template for all kind of [https://en.wikipedia.org/wiki/Wikipedia:Hatnote hatnotes]. '''Hatnotes''' are a small annotation above a page or a section that can help the reader navigate. It's used for example to clarify what a section is about and link to other pages the reader may want to read.
== Example usage ==
<pre><nowiki>
=== Heading ===
{{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}}
The first sentence of the section is here.
</nowiki></pre>
=== Heading ===
{{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}}
The first sentence of the section is here.
<templatedata>
{
"params": {
"1": {
"label": "content",
"description": "the content of the note",
"example": "For the xxx see [[yyy]]."
}
},
"description": "Adds a annotation for the reader about the content that follows. Usually used after a heading."
}
</templatedata>
[[Category:Templates]]
</noinclude>
5e58f83d6fa53ed06f85139184aff1d651804efe
Template:See also/doc
10
81
208
207
2023-03-30T08:33:13Z
Werewire
2
1 revision imported: added see also template
wikitext
text/x-wiki
{{documentation subpage}}
This template is used to create [[w:WP:Hatnotes|hatnotes]] to point to a small number of other related titles. It looks like this:
{{See also|Article}}
Refer to the examples below to see how the template handles link targets containing section links and commas.
==Usage==
; Basic usage:
{{See also|''page1''|''page2''|''page3''|...}}
; All parameters:
{{See also|''page1''|''page2''|''page3''| ...
|label 1 = ''label 1''|label 2 = ''label2''|label 3 = ''label3''| ...
|l1 = ''label1''|l2 = ''label2''|l3 = ''label3''| ...
|selfref = ''yes''|category = ''no''}}
==Parameters==
This template accepts the following parameters:
* <code>1</code>, <code>2</code>, <code>3</code>, ... – the pages to link to. At least one page name is required. Categories and files are automatically escaped with the [[Help:Colon trick|colon trick]], and links to sections are automatically formatted as ''page § section'', rather than the MediaWiki default of ''page#section''.
* <code>label 1</code>, <code>label 2</code>, <code>label 3</code>, ...; or <code>l1</code>, <code>l2</code>, <code>l3</code>, ...; optional labels for each of the pages to link to.
* <code>selfref</code> – if set to "yes", "y", "true" or "1", adds the CSS class "selfref". This is used to denote self-references to Wikipedia. See [[Template:Selfref]] for more information.
* <code>category</code> – if set to "no", "n", "false", or "0", suppresses the error tracking category ([[:Category:Hatnote templates with errors]]). This only has an effect if the first positional parameter (the page to link to) is omitted.
== Examples ==
* <code><nowiki>{{See also|Article}}</nowiki></code> → {{See also|Article}}
* <code><nowiki>{{See also|Article#Section}}</nowiki></code> → {{See also|Article#Section}}
* <code><nowiki>{{See also|Article#Section|label 1=Custom section label}}</nowiki></code> → {{See also|Article#Section|label 1=Custom section label}}
* <code><nowiki>{{See also|Article1|Article2|Article3}}</nowiki></code> → {{See also|Article1|Article2|Article3}}
* <code><nowiki>{{See also|Article1|Article,2|Article3}}</nowiki></code> → {{See also|Article1|Article,2|Article3}}
* <code><nowiki>{{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}</nowiki></code> → {{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}
* <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar}}
* <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar#Civil war}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar#Civil war}}
* <code><nowiki>{{See also|Julius Caesar#Civil war|Veni, vidi, vici}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Veni, vidi, vici}}
* <code><nowiki>{{See also|Julius Caesar#Civil war|Crossing the Rubicon}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Crossing the Rubicon}}
==Errors==
If no page names are supplied, the template outputs the following message with the (help) wikilink pointing to the "Errors" section of this page:
*{{See also|category=no}}
If you see this error message, it is for one of three reasons:
# No parameters were specified (the template code was <code><nowiki>{{See also}}</nowiki></code> with no pipe character nor page to link to). Please use <code><nowiki>{{See also|</nowiki>''page''<nowiki>}}</nowiki></code> instead.
# Some parameters were specified, but no page names were included. For example, the template text <code><nowiki>{{See also|selfref=yes}}</nowiki></code> will produce this error. Please use (for example) <code><nowiki>{{See also|</nowiki>''page''<nowiki>|selfref=yes}}</nowiki></code> instead.
# A page name was specified, but it contains an equals sign ("="). The equals sign has a special meaning in template code, and because of this it cannot be used in template parameters that do not specify a parameter name. For example, the template code <code><nowiki>{{See also|1+1=2|2+2=4}}</nowiki></code> will produce this error. To work around this, you can specify the parameter name explicitly by using <code>1=</code>, <code>2</code>, etc., before the page name, like this: <code><nowiki>{{See also|1=1+1=2|2=2+2=4}}</nowiki></code>.
If you see this error message and are unsure of what to do, please post a message on [[WP:HD|the help desk (WP:HD)]], and someone should be able to help you.
To see a list of wikilinks to articles that contain this error message, see the [[Wikipedia:Maintenance|maintenance category]]: [[:Category:Hatnote templates with errors]].
==TemplateData==
<templatedata>
{
"description": "This template creates a hatnote to point to a small number of related pages. It is placed at the top of a section, directly underneath the section heading.",
"params": {
"1": {
"label": "Page 1",
"description": "The name of the first page that you want to link to.",
"type": "wiki-page-name",
"required": true,
"example": "Article name"
},
"2": {
"label": "Page 2",
"description": "The name of the second page that you want to link to.",
"type": "wiki-page-name",
"required": false
},
"3": {
"label": "Page 3",
"description": "The name of the third page that you want to link to. More pages can be added using the parameters \"4\", \"5\", \"6\", etc.",
"type": "wiki-page-name",
"required": false
},
"label 1": {
"label": "Label 1",
"type": "string",
"description": "What the first linked article is to be displayed as. ",
"aliases": [
"l1"
]
},
"label 2": {
"label": "Label 2",
"type": "string",
"description": "What the second linked article is to be displayed as.",
"aliases": [
"l2"
]
},
"label 3": {
"aliases": [
"l3"
],
"type": "string",
"label": "Label 3",
"description": "What the third linked article is to be displayed as. Other labels can be added by using increasing numbers (starting with \"label 4\" or \"l4\" for page 4) as parameter names."
},
"selfref": {
"type": "boolean",
"label": "Self reference",
"description": "Set to \"yes\" if the template is a self-reference to Wikipedia that would not make sense on mirrors or forks of the Wikipedia site.",
"example": "yes",
"default": "no"
},
"category": {
"label": "Category",
"description": "Set to \"no\", \"n\", \"false\", or \"0\" to suppresses the error tracking category (Category:Hatnote templates with errors). This only has an effect if no page names are specified.",
"type": "boolean",
"default": "yes",
"example": "no"
}
},
"format": "inline"
}
</templatedata>
==See also==
<includeonly>
[[Category:Templates]]
</includeonly>
02774f4e6b8e9592547778c4ff1d268700853631
Main Page
0
1
209
152
2023-04-19T20:44:11Z
Werewire
2
comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 19th Apr 2023, 4:30 PM
[https://ecopportunityx.cfw.me Page 137]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
e33d5562040f409daba3d7f88f76d0cc0e237fe6
212
209
2023-05-24T20:06:01Z
Werewire
2
comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 24th May 2023, 1:11 PM
[https://ecopportunityx.cfw.me Page 138]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
38fab2aaf4f29efc231807e25b3743411a88275b
232
212
2023-06-15T09:03:02Z
Ian3080
8
Added wiki page links for ease of navigation (temporary)
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a
facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 24th May 2023, 1:11 PM
[https://ecopportunityx.cfw.me Page 138]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedCategories|Wanted Categories]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
f7d741db78a6b908014464586d0a4fc24e232258
233
232
2023-06-15T09:03:47Z
Ian3080
8
Fixed formatting. oopsies
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 24th May 2023, 1:11 PM
[https://ecopportunityx.cfw.me Page 138]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedCategories|Wanted Categories]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
659f85db72b2f5624060f50485750b1ce22a9bfc
244
233
2023-06-27T19:55:22Z
Werewire
2
comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 27th June 2023, 9:37 AM
[https://ecopportunityx.cfw.me Page 139]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedCategories|Wanted Categories]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
7c9b5c867210abb0677afcfb015336e9c29afa6f
File:Pg 13 panel 1.png
6
82
210
2023-05-21T04:23:14Z
Werewire
2
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Daisy
0
51
211
133
2023-05-21T04:23:52Z
Werewire
2
/* Gallery */ added image
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff8000;
border-collapse: collapse;
| abovestyle =
background: #ff8000;
color: #000000;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff8000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff8000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castdaisy.png|frameless|200px|center|link=]]
| data1 =
| label2 = First Appearance:
| data2 = Page 9, 2/4/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff8000
| label5 = Pronouns:
| data5 = Any (primarily she/it)
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Daisy''' is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows kid and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>.
== Summary ==
== Trivia ==
* Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref>
== Gallery ==
<gallery>
Castrobot.png|Daisy's First cast image
pg 13 panel 1.png|Being lifted up by kid
</gallery>
== References ==
<references />
[[Category:Characters]]
7a44b7b1897e29c2d3d0f31f00c193235614aeca
Kid
0
11
213
148
2023-05-31T02:32:42Z
Spushii
10
Still needs more editing. Moved some information from initial blurb to summary section to avoid including spoilers in initial blurb.
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective.
==Summary==
{{{summary|Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of it's founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.}}}
==Trivia==
{{{trivia|-To be added}}}
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
c9729cf40de7465df99916eb4adf0b1527445869
214
213
2023-05-31T18:00:30Z
Spushii
10
Added additional information, some wording is cumbersome and there's some unnecessary information here but that can be fixed later.
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball.
==Summary==
{{{summary|Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted. Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels. It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project. As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project, leaving [[Dr. Zeller]], his second in command, to monitor Kid.
After being introduced to Kid by Bass and realizing that they were a fully sentient and autonomous human child, Zeller began attempting to care for them, providing them with toys, art supplies, and companionship despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life. Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.
Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.}}}
==Trivia==
{{{trivia|- Kid's favorite flavor of potato chip is Salt & Vinegar}}}
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
db21225e9cd4cfaf3ba17bb7ceff6b70aac173b5
216
214
2023-06-01T03:43:17Z
Spushii
10
nickname and attribution. she definitely has more but i'll have to scrub the comic for them
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = Kiddo (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball.
==Summary==
{{{summary|Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted. Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels. It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project. As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project, leaving [[Dr. Zeller]], his second in command, to monitor Kid.
After being introduced to Kid by Bass and realizing that they were a fully sentient and autonomous human child, Zeller began attempting to care for them, providing them with toys, art supplies, and companionship despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life. Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.
Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.}}}
==Trivia==
{{{trivia|- Kid's favorite flavor of potato chip is Salt & Vinegar}}}
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
bbc7077ffb574326cf0a55b82ae6b55f4d1db7a1
217
216
2023-06-01T03:45:36Z
Spushii
10
noticed formatting error
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = Kiddo (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball.
==Summary==
Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted. Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels. It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project. As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project, leaving [[Dr. Zeller]], his second in command, to monitor Kid.
After being introduced to Kid by Bass and realizing that they were a fully sentient and autonomous human child, Zeller began attempting to care for them, providing them with toys, art supplies, and companionship despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life. Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.
Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.
==Trivia==
* Kid's favorite flavor of potato chip is Salt & Vinegar
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
705328dc52ea6841fbadf81bcc91fcb510e9ca59
221
217
2023-06-01T16:53:14Z
Spushii
10
References
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = Kiddo (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball.
==Summary==
Kid, who is initially unnamed before being asked to pick a name by [[Ashley]],<ref name=":1">https://ecopportunityx.cfw.me/comics/44</ref> is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref><ref name=":4">https://ecopportunityx.cfw.me/comics/41/</ref> It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project,<ref name=":5">https://ecopportunityx.cfw.me/comics/54/</ref><ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> leaving [[Dr. Zeller]], his second in command, to monitor Kid.
After being introduced to Kid by Bass and realizing they were a fully sentient human child, Zeller began attempting to care for them, providing them with toys, art supplies, and education despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref> Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.<ref name=":6">https://ecopportunityx.cfw.me/comics/28/</ref><ref name=":7">https://ecopportunityx.cfw.me/comics/9/</ref>
Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.
==Trivia==
* Kid's favorite flavor of potato chip is Salt & Vinegar <ref name=":8">https://ecopportunityx.cfw.me/comics/70/</ref>
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
e78158b7130058b69e066944d3a035e45a32e50a
222
221
2023-06-01T19:55:29Z
Spushii
10
link added
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = Kiddo (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball.
==Summary==
Kid, who is initially unnamed before being asked to pick a name by [[Ashley]],<ref name=":1">https://ecopportunityx.cfw.me/comics/44</ref> is part of an experiment conducted by [[Ecopportunityx]] at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref><ref name=":4">https://ecopportunityx.cfw.me/comics/41/</ref> It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project,<ref name=":5">https://ecopportunityx.cfw.me/comics/54/</ref><ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> leaving [[Dr. Zeller]], his second in command, to monitor Kid.
After being introduced to Kid by Bass and realizing they were a fully sentient human child, Zeller began attempting to care for them, providing them with toys, art supplies, and education despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref> Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.<ref name=":6">https://ecopportunityx.cfw.me/comics/28/</ref><ref name=":7">https://ecopportunityx.cfw.me/comics/9/</ref>
Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.
==Trivia==
* Kid's favorite flavor of potato chip is Salt & Vinegar <ref name=":8">https://ecopportunityx.cfw.me/comics/70/</ref>
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
cd0b96a2d415a62ebf2b118fe928315b730393c5
228
222
2023-06-02T03:11:30Z
Spushii
10
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #191919;
border-collapse: collapse;
| abovestyle =
background: #191919;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #191919;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #191919;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]]
| data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"
| label2 = First Appearance:
| data2 = Page 1, 2/2/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = 191919
| label5 = Pronouns:
| data5 = Any
| label6 = Nicknames:
| data6 = Kiddo (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Friend, former caretaker)
[[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends)
[[Stephen Bass]] (Creator)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the [[EcopportunityX]] Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball.
==Summary==
Kid, who is initially unnamed before being asked to pick a name by [[Ashley]],<ref name=":1">https://ecopportunityx.cfw.me/comics/44</ref> is part of an experiment conducted by EcopportunityX at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref><ref name=":4">https://ecopportunityx.cfw.me/comics/41/</ref> It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project,<ref name=":5">https://ecopportunityx.cfw.me/comics/54/</ref><ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> leaving [[Dr. Zeller]], his second in command, to monitor Kid.
After being introduced to Kid by Bass and realizing they were a fully sentient human child, Zeller began attempting to care for them, providing them with toys, art supplies, and education despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref> Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.<ref name=":6">https://ecopportunityx.cfw.me/comics/28/</ref><ref name=":7">https://ecopportunityx.cfw.me/comics/9/</ref>
Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.
==Trivia==
* Kid's favorite flavor of potato chip is Salt & Vinegar <ref name=":8">https://ecopportunityx.cfw.me/comics/70/</ref>
==Gallery==
<gallery>
File:Castkid.png|Kid Cast Image
File:KidSitting.PNG|Sitting :-]
</gallery>
==References==
<references />
[[Category:Characters]]
43fe79d960ecb9bb5b54541a6fa29fac9b03f8c2
Stephen Bass
0
32
215
142
2023-06-01T03:42:16Z
Spushii
10
nickname attribution, changed status to deceased
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff0000;
border-collapse: collapse;
| abovestyle =
background: #ff0000;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff0000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff0000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castbass.png|frameless|200px|center|link=]]
| data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!"
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Deceased
| label4 = Highlight Color:
| data4 = ff0000
| label5 = Pronouns:
| data5 = He/him
| label6 = Nicknames:
| data6 = Stevie (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Subordinate)
[[Brian]] (Former friend)
[[Ashley]], [[Chantal]] (Employees)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility.
== Summary ==
Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
== Trivia ==
* Bass attempted to use [[Brian]]'s phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about [[Dr. Zeller]] since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
== Gallery ==
<gallery>
Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used.
Pg 54 panel 3.png|FUCKING SHIT JACKASS!
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
== References ==
<references />
[[Category:Characters]]
6743940f1743a45681b729dfd7c7fb7231a5db90
225
215
2023-06-01T23:26:02Z
Spushii
10
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff0000;
border-collapse: collapse;
| abovestyle =
background: #ff0000;
color: #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff0000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff0000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castbass.png|frameless|200px|center|link=]]
| data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!"
| label2 = First Appearance:
| data2 = Page 39, 2/22/22
| label3 = Status:
| data3 = Deceased
| label4 = Highlight Color:
| data4 = ff0000
| label5 = Pronouns:
| data5 = He/him
| label6 = Nicknames:
| data6 = Stevie (by [[Brian]])
| label7 = Relationships:
| data7 = [[Dr. Zeller]] (Subordinate)
[[Brian]] (Former friend)
[[Ashley]], [[Chantal]] (Employees)
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility.
== Summary ==
Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93.
== Trivia ==
* Bass attempted to use [[Brian]]'s phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref>
* Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref>
* Interestingly, with Bass' death we have no other way to learn more about [[Dr. Zeller]] since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup>
* It's pronounced ''"bay-ss",'' like the instrument. Not the fish.
== Gallery ==
<gallery>
Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used.
Pg 54 panel 3.png|FUCKING SHIT JACKASS!
Pg 112 panel 2.png|Most pathetic child kicker ever
</gallery>
== References ==
<references />
[[Category:Characters]]
40975278e6dea671e369f794b7331068bf96dbda
Dr. Zeller
0
24
218
85
2023-06-01T04:36:19Z
Spushii
10
summary added, grammatical error corrected.
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = Deceased
| pronouns = He/they
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at EcopportunityX, acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them.
|summary =
Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would occasionally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass.
When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office.
When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom.
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fucking chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
339d653c09469fa30568c93574d78b1d69ef89ee
219
218
2023-06-01T16:10:30Z
Spushii
10
clearer wording, relationship information added.
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = Deceased
| pronouns = He/they
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships = [[Kid]] (Friend)
[[Stephen Bass]] ("Friend", Boss)
[[Ashley]] (Employee)
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at EcopportunityX, acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them.
|summary =
Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would recreationally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass.
When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office.
When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom.
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fucking chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
b57198a08ca86ef78b7a5cfd797bef8523b56a4c
220
219
2023-06-01T16:29:12Z
Spushii
10
formatting. there's also some weird stuff going on with the way this page is formatted compared to some of the other ones that i don't understand
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = Deceased
| pronouns = He/they
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships = [[Kid]] (Friend)
[[Stephen Bass]] ("Friend", Boss)
[[Ashley]] (Employee)
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at EcopportunityX, acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them.
|summary =
===Working at EcopportunityX===
Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would recreationally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass.
When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office.
===The Incident===
When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom.
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fucking chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
96f9a8dd54d603e8dd086ff740ba1f8a93444179
226
220
2023-06-01T23:27:55Z
Spushii
10
Page link
wikitext
text/x-wiki
{{Infobox/Character page
| name = Dr. Zeller
| image = Castzellerborder.png
| quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them.
| first_appearance = Page 8, 2/3/2022
| status = Deceased
| pronouns = He/they
| highlight_color = <!-- without # --> 00ffff
| nicknames =
| relationships = [[Kid]] (Friend)
[[Stephen Bass]] ("Friend", Boss)
[[Ashley]] (Employee)
| likes =
| dislikes =
| introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at [[EcopportunityX]], acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them.
|summary =
===Working at EcopportunityX===
Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would recreationally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass.
When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office.
===The Incident===
When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom.
| trivia = -To be added
| gallery = <gallery>
Yourdrawing.png|Kid's drawing
Zeller1.png|They got fucking chomped
Faceless Zeller.PNG|Greeting each other :-)
</gallery>
}}
d42f96bce5e11ae8d3f8f3490ce42ec8ca6c7c9f
EcopportunityX
0
84
227
2023-06-01T23:32:51Z
Spushii
10
capitalization typo in original page title
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color) {
const r = parseInt(hightlight_color.slice(1, 3), 16<ref>);</ref>
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
return `rgb(${r}, ${g}, ${b})`;
}
color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = EcopportunityX ''(Company)''
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = "ECONOMIC OPPORTUNITY X. IT’S THE STUPIDEST NAME I’VE EVER HEARD IN MY LIFE, NO GODDAMN CLUE WHY STEVIE-BOY WENT WITH IT."
}}
EcopportunityX (Also known as ''Economic Opportunity X'' <ref name=":1">https://https://ecopportunityx.cfw.me/comics/63/</ref> or ''EOX'') is an enigmatic company created by [[Stephen Bass]] for the purpose of conducting privatized scientific research. Many of the webcomic's characters are or have been employed by EOX, and all of them have interacted with it in some capacity.
== Summary ==
EcopportunityX is a company created by Stephen Bass for the purpose of conducting scientific research. While initial plans for the company were numerous and broad, Bass' obsession with his immortality project led to it being the company's almost exclusive focus, with only a single active side project.<ref name=":2">https://ecopportunityx.cfw.me/comics/62/</ref>
=== The Immortality Project ===
{{{the immortality project|-To be added}}}
=== The Secondary Project ===
{{{the secondary project|-To be added}}}
=== The Facility ===
EcopportunityX's facility consist of a network of buildings, including dorms, at least one restaurant, and [[The Tower]], all residing in a top secret location. Employees of EOX would be shipped out using a company-provided vehicle with no windows and would live in the provided dormitories during their tenure.<ref name=":3">https://ecopportunityx.cfw.me/comics/104/</ref> For reasons of probably supernatural origin, some employees of EOX struggle to remember how they made it to the facilities in the first place.<ref name=":5">https://ecopportunityx.cfw.me/comics/75/</ref>
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Characters]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Character page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| pronouns =
| nicknames =
| relationships =
| likes =
| dislikes =
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Character</code> category
|}
</noinclude>
90345ee9f687a6928ecbef230a05dd6cc95245de
File:Page one.gif
6
85
229
2023-06-14T11:45:37Z
Ian3080
8
wikitext
text/x-wiki
First page of Ecopportunityx depicting Kid waking up in their room
bdb7bd9e75f370122a5f2b31c690bfed8af86b7c
Template:Infobox/Location page
10
86
230
2023-06-15T08:50:58Z
Ian3080
8
Created location template from existing character page
wikitext
text/x-wiki
<!--Copied from the character page-->
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
return `rgb(${r}, ${g}, ${b})`;
}
color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Locations]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Location_page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Location</code> category
|}
</noinclude>
2b6b7cdfce124368ee1778d7852420c0ff9c7c56
Template:Infobox/Item page
10
87
231
2023-06-15T08:54:04Z
Ian3080
8
Created item template from existing character page
wikitext
text/x-wiki
<!--Copied from the location page-->
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #{{{highlight_color|aaa}}};
border-collapse: collapse;
| abovestyle =
background: #{{{highlight_color|aaa}}};
hexToRGB(hightlight_color) {
const r = parseInt(hightlight_color.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
return `rgb(${r}, ${g}, ${b})`;
}
color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #{{{highlight_color|aaa}}};
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }}
| data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }}
| label2 = First Appearance:
| data2 = {{{first_appearance|}}}
| label3 = Status:
| data3 = {{{status|}}}
| label4 = Highlight Color:
| data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }}
}}
{{{introduction|}}}
== Summary ==
{{{summary|-To be added}}}
== Trivia ==
{{{trivia|-To be added}}}
== Gallery ==
{{{gallery|}}}
== References ==
<references />
[[Category:Items]]
<noinclude>
{| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed"
| '''Notes'''
|-
|
* [[Template:Infobox/Item_page/Example | Example page]]
* Empty Template
<pre>
{{Infobox/Character page
| name =
| image =
| quote =
| first_appearance =
| status =
| highlight_color = <!-- without # -->
| introduction =
| summary =
| trivia =
| gallery =
}}
</pre>
* unused rows are hidden so leave blank
* <code>highlight_color</code> sets border color - leave blank if no color to use default gray
* template adds page to <code>Item</code> category
|}
</noinclude>
4576f4d32210dc23a75fb6e60e461accd73bb99a
Category:Locations
14
88
234
2023-06-16T04:15:32Z
Ian3080
8
created Location category overview
wikitext
text/x-wiki
A [[:Category:Locations|Location]] is a place. That place can be large and encompass other locations, such as with [[:Category:The Tower|the tower]], or be only spanning a single room.
This category contains all locations seen or mentioned in EcopportunityX.
51f575bdbe9237f5fe9504b9245b5d9c28acd947
Category:Items
14
89
235
2023-06-16T04:19:53Z
Ian3080
8
Created Item category overview
wikitext
text/x-wiki
This category contains all Items picked up by [[Kid|the protagonist]] as well as those important to the story, or otherwise mentioned.
The most current category of items being held is available on the comic's [https://ecopportunityx.cfw.me/inventory/ inventory page].
60728e0cf252e5119278f062b54002eb3a7acae0
236
235
2023-06-16T04:23:48Z
Ian3080
8
Formatting change
wikitext
text/x-wiki
This category contains all [[Items]] picked up by [[Kid|the protagonist]] as well as those important to the story, or otherwise mentioned.
The most current category of items being held is available on the comic's [https://ecopportunityx.cfw.me/inventory/ inventory page].
86cc869a2553722c9a9bb5fc99ae4bd03952f665
237
236
2023-06-16T04:25:14Z
Ian3080
8
Fix revision 236 by [[Special:Contributions/Ian3080|Ian3080]] ([[User talk:Ian3080|talk]])
wikitext
text/x-wiki
This category contains all [[:Category:Items|Items]] picked up by [[Kid|the protagonist]] as well as those important to the story, or otherwise mentioned.
The most current category of items being held is available on the comic's [https://ecopportunityx.cfw.me/inventory/ inventory page].
74c260e2ee7fb6bee6f294dda5351851369ddfd6
File:EOX Floor 1.png
6
90
238
2023-06-16T04:52:25Z
Ian3080
8
wikitext
text/x-wiki
The first floor of the EcopportunityX tower as left in the comic, containing no characters.
0230c38e66124fdf1408d5c13cc8e5fd0f84ec88
File:EOX Page 88.png
6
91
239
2023-06-16T05:20:35Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 82.png
6
92
240
2023-06-16T05:20:38Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 98.png
6
93
241
2023-06-16T05:22:37Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 1
0
96
245
2023-06-29T04:33:38Z
Ian3080
8
Populate Floor 1 Page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says “EXIT” above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower|the Tower]]. It contains a single room.
|summary=Above it is the [[Floor 2|second floor]], and beneath is the [[Basement|basement]]. The first floor is barebones: it consists of the [[Reception|receptionist's office]] which is attached to the exit, the stairwell leading down from the second floor, and the [[Elevator|elevator]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
cd5e9aaacd7e33c9c028fde4193aecf2c6413330
253
245
2023-06-29T05:07:58Z
Ian3080
8
Change link format
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says “EXIT” above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It contains a single room.
|summary=Above it is the [[Floor 2|second floor]], and beneath is the [[Basement]]. The first floor is barebones: it consists of the [[Reception|receptionist's office]] which is attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
96c49b8b4a404b8752417334a0de1431bff1e6f0
File:EOX Page 80.png
6
97
246
2023-06-29T04:43:23Z
Ian3080
8
wikitext
text/x-wiki
The first appearance of Floor 2, the room with the excess doors and the large flesh blob in the middle. Highlight color is hot pink, #FF00FF.
08756ffd53063aff51e159b1edb2e48c8a386229
File:EOX page 81.png
6
98
247
2023-06-29T04:52:32Z
Ian3080
8
wikitext
text/x-wiki
Floor 2 of the tower, Ashley, Chantal, Kid, Daisy, and jarred Brian examine the room. Kid places a tape bow on the large flesh blob in the middle of the floor.
4325e04f269212adbff964646407a024f8dee9a5
File:EOX Page 81 (6).png
6
99
248
2023-06-29T04:55:01Z
Ian3080
8
wikitext
text/x-wiki
The stairwell leading from Floor 2 to Floor 1. Ashley, jarred Brian, Chantal, Daisy, and Kid fall onto the floor after walking through the door. There is a single flesh blob on the ceiling.
270cfbb3dbdf9383c63d5065c7dad98ca5b2614d
Floor 2
0
100
249
2023-06-29T04:57:15Z
Ian3080
8
Create the floor 2 page
wikitext
text/x-wiki
{{Infobox/Location page
|name=Floor 2
|quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!”
|first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref>
|introduction=Floor 2 is the first floor above ground level in [[the Tower]].
|summary=Preceded by [[Maze|the maze]] on [[Floor 3]] and followed by [[Floor 1|floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed).
[[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors.
|trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.
|highlight_color=FF00FF
|image=EOX_Page_80.png
|gallery=
<gallery>
EOX_page_81.png|Placing the tape bow on the fleshblob
EOX_Page_81 (6).png|The stairwell leading down to floor 1
</gallery>
}}
b458e73dc5db2c5c89fd6bd26f53645a673975bb
252
249
2023-06-29T05:06:59Z
Ian3080
8
Added more images
wikitext
text/x-wiki
{{Infobox/Location page
|name=Floor 2
|quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!”
|first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref>
|introduction=Floor 2 is the first floor above ground level in [[the Tower]].
|summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed).
[[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors.
|trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.
|highlight_color=FF00FF
|image=EOX_Floor_2.png
|gallery=
<gallery>
EOX_Page_80.png|First appearance of floor 2
EOX_page_81.png|Placing the tape bow on the fleshblob
EOX_Page_81 (6).png|The stairwell leading down to floor 1
EOX_Page_82 (2).png|Holding hands as they descend
</gallery>
}}
ebde2a9a18d02eb05885476d607bcbb9fd1871b3
File:EOX Floor 2.png
6
101
250
2023-06-29T05:01:27Z
Ian3080
8
wikitext
text/x-wiki
Blank version of the second floor of the tower. Highlight color #FF00FF
b98a90660d0fefbb481d8ac647043ed6acaf9493
File:EOX Page 82 (2).png
6
102
251
2023-06-29T05:05:26Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 76 (3).png
6
103
254
2023-06-29T05:28:51Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 80 (5).png
6
104
255
2023-06-29T05:28:53Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 77 (4).png
6
105
256
2023-06-29T05:28:55Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 3.png
6
106
257
2023-06-29T05:30:45Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 3
0
107
258
2023-06-29T05:31:43Z
Ian3080
8
Create the floor 3 page
wikitext
text/x-wiki
{{Infobox/Location page|highlight_color=0000FF
|name=Floor 3
|image=EOX_Floor_3.png
|quote=Now in blue raspberry flavor!
|first_appearance=Page 76 3/30/22 <ref name ="EOX_76">https://ecopportunityx.cfw.me/comics/76/</ref>
|introduction=The third floor of [[the Tower]], it contains the [[Maze]] as well as [[Chantal's Cubicle]].
|summary=Above it is [[Floor 4]] and followed by [[Floor 2]]. This floor contains one singular room of the Maze, which leads to Chantal's cubicle.
|trivia=The comic updated on April 1st while on this floor, directing readers through hovertext to https://ecopportunityx.cfw.me/realending
|gallery=
<gallery>
File:EOX_Page_76 (3).png|First appearance of floor 3
File:EOX_Page_77 (4).png|Exploring most of the Maze
File:EOX_Page_80 (5).png|Last appearance of floor 3
</gallery>
}}
a71a2b1bd4da4ca5fb1873882e817c2c9ead54e5
259
258
2023-06-29T23:08:06Z
Werewire
2
added citation for the april 1st update fact
wikitext
text/x-wiki
{{Infobox/Location page|highlight_color=0000FF
|name=Floor 3
|image=EOX_Floor_3.png
|quote=Now in blue raspberry flavor!
|first_appearance=Page 76 3/30/22 <ref name ="EOX_76">https://ecopportunityx.cfw.me/comics/76/</ref>
|introduction=The third floor of [[the Tower]], it contains the [[Maze]] as well as [[Chantal's Cubicle]].
|summary=Above it is [[Floor 4]] and followed by [[Floor 2]]. This floor contains one singular room of the Maze, which leads to Chantal's cubicle.
|trivia=The comic updated on April 1st while on this floor, directing readers through hovertext to https://ecopportunityx.cfw.me/realending<ref name ="EOX_78">https://ecopportunityx.cfw.me/comics/78/</ref>
|gallery=
<gallery>
File:EOX_Page_76 (3).png|First appearance of floor 3
File:EOX_Page_77 (4).png|Exploring most of the Maze
File:EOX_Page_80 (5).png|Last appearance of floor 3
</gallery>
}}
d1a0b67c159174b03defe460a3fb7625e1b38f1e
Floor 2
0
100
260
252
2023-06-29T23:16:39Z
Werewire
2
added citation
wikitext
text/x-wiki
{{Infobox/Location page
|name=Floor 2
|quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!”
|first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref>
|introduction=Floor 2 is the first floor above ground level in [[the Tower]].
|summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed).
[[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors.
|trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.<ref name="EOX_80" />
|highlight_color=FF00FF
|image=EOX_Floor_2.png
|gallery=
<gallery>
EOX_Page_80.png|First appearance of floor 2
EOX_page_81.png|Placing the tape bow on the fleshblob
EOX_Page_81 (6).png|The stairwell leading down to floor 1
EOX_Page_82 (2).png|Holding hands as they descend
</gallery>
}}
f78c3c0ce1eaa996f6db17c2002c773f0f943a40
305
260
2023-08-08T04:36:16Z
Ian3080
8
change tape bow to direct to electric tape object page
wikitext
text/x-wiki
{{Infobox/Location page
|name=Floor 2
|quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!”
|first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref>
|introduction=Floor 2 is the first floor above ground level in [[the Tower]].
|summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Electric Tape|Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed).
[[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors.
|trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.<ref name="EOX_80" />
|highlight_color=FF00FF
|image=EOX_Floor_2.png
|gallery=
<gallery>
EOX_Page_80.png|First appearance of floor 2
EOX_page_81.png|Placing the tape bow on the fleshblob
EOX_Page_81 (6).png|The stairwell leading down to floor 1
EOX_Page_82 (2).png|Holding hands as they descend
</gallery>
}}
e2a6f1b71479dc506916f4f84d74ca372d77ac80
MediaWiki:Common.css
8
6
261
151
2023-06-29T23:31:40Z
Werewire
2
adjusted css so that use of wikitables normally is possible
css
text/css
/* CSS placed here will be applied to all skins */
body {
display: table;
width: 100%;
font-family: tamoha, arial, sans-serif;
background-color: #555555;
color: #282828;
margin: 0;
min-width: 750px;
}
.mw-logo-container {
content: url(https://static.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210);
}
.mw-page-container {
background: #555555;
}
#content {
border: 1px solid #000000;
background-color: #DFDFDF;
padding: 10px;
margin-left: -30px;
}
#mw-panel.mw-sidebar {
border: 1px solid #000000;
background: #DFDFDF;
padding: 5px;
margin-left: -10px;
}
a:link {
color: #0000ff; }
a:visited {
color: #82007d; }
.mw-parser-output a.extiw, .mw-parser-output a.external {
color: #0000ff;
}
.mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited {
color: #82007d;
}
#footer-places li a {
color: #d7d7d7;
border-bottom: 1px solid #d7d7d7;
}
.vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a {
color: #0000ff;
}
.vector-menu-tabs li a {
color: #0000ff;
}
.vector-menu-tabs li {
background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%);
background-position: left bottom;
background-repeat: repeat-x;
float: left;
display: block;
height: 100%;
margin: 0;
padding: 0;
line-height: 1.125em;
white-space: nowrap;
}
.vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading {
background-image: none;
}
/* Wikitables */
.wikitable {
background-color: #dfdfdf;
color: #282828;
border: 1px solid #a2a9b1;
}
.wikitable > tr > th, .wikitable > * > tr > th {
background-color: #aaaaaa;
text-align: center;
}
.infobox {
float: right;
clear: right;
width: 295px !important;
}
64248e618b7ca05a7a03a068d3b922056508e221
Daisy
0
51
262
211
2023-07-31T04:36:43Z
Werewire
2
added link
wikitext
text/x-wiki
{{Infobox
| bodystyle =
float: right;
clear: right;
margin: 0 0 1em 1em;
width: 290px;
border: 1px solid #ff8000;
border-collapse: collapse;
| abovestyle =
background: #ff8000;
color: #000000;
padding: 5px;
| rowstyle1 = <!-- quote -->
font-style: italic;
| labelstyle =
width: 120px;
vertical-align: top;
text-align: right;
border-top: 1px solid #ff8000;
padding: 5px 0 5px 10px;
| datastyle =
vertical-align: top;
border-top: 1px solid #ff8000;
padding: 5px 10px;
| above = {{{name|{{PAGENAME}}}}}
| image = [[Image:Castdaisy.png|frameless|200px|center|link=]]
| data1 =
| label2 = First Appearance:
| data2 = Page 9, 2/4/22
| label3 = Status:
| data3 = Alive
| label4 = Highlight Color:
| data4 = ff8000
| label5 = Pronouns:
| data5 = Any (primarily she/it)
| label6 = Nicknames:
| data6 = {{{nicknames|}}}
| label7 = Relationships:
| data7 =
| label8 = Likes:
| data8 = {{{likes|}}}
| label9 = Dislikes:
| data9 = {{{dislikes|}}}
}}
'''Daisy''' is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows [[Kid]] and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>.
== Summary ==
== Trivia ==
* Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref>
== Gallery ==
<gallery>
Castrobot.png|Daisy's First cast image
pg 13 panel 1.png|Being lifted up by kid
</gallery>
== References ==
<references />
[[Category:Characters]]
107a9c9226941c38f37eaa177cdf886d5c936530
Main Page
0
1
263
244
2023-07-31T20:36:15Z
Werewire
2
comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 31st July 2023, 3:13 AM
[https://ecopportunityx.cfw.me Page 141]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedCategories|Wanted Categories]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
13cf5088e94b00f04be04e66b39c31418a59d358
303
263
2023-08-08T04:33:40Z
Ian3080
8
change wanted categories to wanted pages
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 31st July 2023, 3:13 AM
[https://ecopportunityx.cfw.me Page 141]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedPages|Wanted Pages]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
ba197b251167cc6b492d0cff7303cc84baeed37b
File:EOX Floor 4.png
6
108
264
2023-08-08T00:13:51Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 76 (2).png
6
109
265
2023-08-08T00:21:48Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 69 (4).png
6
110
266
2023-08-08T00:21:50Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 4
0
111
267
2023-08-08T01:21:12Z
Ian3080
8
Create the floor 4 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FFFF00
|image=EOX_Floor_4.png
|name=Floor 4
|quote=That yellow hurts your eyes.
|first_appearance=Page 69 3/23/22 <ref name="EOX_69">https://ecopportunityx.cfw.me/comics/69/</ref>
|introduction= The fourth floor of [[The Tower]]. It contains the [[Break Room]], [[Janitor's Closet]], and the [[Elevator]].
|summary= Above it is [[Floor 5]] and below is [[Floor 3]]. This floor contains 2 separated rooms, and the stairwell down from floor 5 positioned on the opposite (4th) wall.
|trivia= -To Be Added
|gallery=
<gallery>
File:EOX_Page_69 (4).png|First appearance of floor 4
File:EOX_Page_76 (2).png|Last appearance of floor 4
</gallery>
}}
5cebd18bec1accf2559facf91e0f6e0d5e49d10c
File:EOX Page 65 (9).png
6
112
268
2023-08-08T01:52:25Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 64 (4).png
6
113
269
2023-08-08T01:52:27Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 65 (1).png
6
114
270
2023-08-08T01:52:29Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 69 (3).png
6
115
271
2023-08-08T01:55:14Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 5 Stairs.png
6
116
272
2023-08-08T01:57:50Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 5.png
6
117
273
2023-08-08T01:57:52Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 5
0
118
274
2023-08-08T02:00:07Z
Ian3080
8
Create the floor 5 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=00FF00
|name=Floor 5
|image=EOX_Floor_5.png
|quote=That green is really bright…
|first_appearance=Page 64 3/18/22 <ref name="EOX_64">https://ecopportunityx.cfw.me/comics/64/</ref>
|introduction=The fifth floor of [[The Tower]], it contains the [[Computer Room]], the [[Elevator]] and the stairwell leading both up to [[Floor 6]] and down to [[Floor 4]].
|summary=Upon entering the floor, which is only reachable through elevator due to a [[Fleshblob]] blocking the stairwell, the [[Brian|Mysterious Figure]] is seen. There is one giant fleshblob on the ceiling that unsettles [[Ashley]], as well as one occupying the large crack in the floor. The floor contains only one actual room.
|trivia=
* Many characters are introduced on the same floor as their highlight color, but the [[Facility AI]] in [[Brian]]'s body has a previous appearance on the [[Floor 7|Cyan Floor]] despite their colors being green and pink respectively, as well as the [[Security Robot]] color being ordinarily green (excluding the damaged [[Daisy]], who was introduced on the [[Floor 6|Orange Floor]]).
*The room is not mentioned to be any darker despite the giant fleshblob covering all the ceiling lights.
|gallery=
<gallery>
File:EOX_Page_64 (4).png|First appearance of floor 5
File:EOX_Page_65 (1).png|All the rooms
File:EOX_Page_69 (3).png|Last appearance of floor 5
File:EOX_Floor_5_Stairs.png| Clear image of the stairwell
</gallery>
}}
5ef7803cf30dcb5d65dd8f369b95944509cbd673
275
274
2023-08-08T02:04:55Z
Ian3080
8
scooping room
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=00FF00
|name=Floor 5
|image=EOX_Floor_5.png
|quote=That green is really bright…
|first_appearance=Page 64 3/18/22 <ref name="EOX_64">https://ecopportunityx.cfw.me/comics/64/</ref>
|introduction=The fifth floor of [[The Tower]], it contains the [[Scooping Room]], the [[Elevator]] and the stairwell leading both up to [[Floor 6]] and down to [[Floor 4]].
|summary=Upon entering the floor, which is only reachable through elevator due to a [[Fleshblob]] blocking the stairwell, the [[Brian|Mysterious Figure]] is seen. There is one giant fleshblob on the ceiling that unsettles [[Ashley]], as well as one occupying the large crack in the floor. The floor contains only one actual room.
|trivia=
* Many characters are introduced on the same floor as their highlight color, but the [[Facility AI]] in [[Brian]]'s body has a previous appearance on the [[Floor 7|Cyan Floor]] despite their colors being green and pink respectively, as well as the [[Security Robot]] color being ordinarily green (excluding the damaged [[Daisy]], who was introduced on the [[Floor 6|Orange Floor]]).
*The room is not mentioned to be any darker despite the giant fleshblob covering all the ceiling lights.
|gallery=
<gallery>
File:EOX_Page_64 (4).png|First appearance of floor 5
File:EOX_Page_65 (1).png|All the rooms
File:EOX_Page_69 (3).png|Last appearance of floor 5
File:EOX_Floor_5_Stairs.png| Clear image of the stairwell
</gallery>
}}
11f24ba27211903c356662b19d9605d9308b39b0
File:EOX Page 8 (3).png
6
119
276
2023-08-08T02:32:39Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 16 (4).png
6
120
277
2023-08-08T02:32:41Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 6 Stairs.png
6
121
278
2023-08-08T02:32:44Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 9 (8).png
6
122
279
2023-08-08T02:32:46Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 6.png
6
123
280
2023-08-08T02:34:14Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 10 (1).png
6
124
281
2023-08-08T02:37:24Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 10 (4).png
6
125
282
2023-08-08T02:37:26Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 6 Zeller Blank.png
6
126
283
2023-08-08T02:41:16Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 6
0
127
284
2023-08-08T02:43:54Z
Ian3080
8
Create the floor 6 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF8200
|name=Floor 6
|image=EOX_Floor_6.png
|quote=Hey, what the heck is 'Duck, Duck, Goose'?
|first_appearance=Page 8 2/3/22 <ref name="EOX_8">https://ecopportunityx.cfw.me/comics/8/</ref>
|introduction=The floor below [[Floor 7]] and above [[Floor 5]]. It contains [[Your Room]] and a stairwell leading upwards.
|summary=This is the first floor seen in the comic, since [[Kid]]'s room is attached to a side room of the floor's main hall. Past [[Dr.Zeller]]'s corpse is a hallway with [[Security Robots]] circling each other, as well as [[Daisy|one robot]] pinned under rubble coming from the floor above. This floor also marks the first appearance of a [[Fleshblob]] as the one blocking the stairwell leading down.
|trivia=* This floor is missing a painted number on the wall
|gallery=
<gallery>
File:EOX_Page_8 (3).png|First appearance
File:EOX_Floor_6_Zeller_Blank.png|Blank version of the hall outside your room
File:EOX_Page_9 (8).png|First proper appearance
File:EOX_Page_10 (1).png|The rubble from floor 7 (missing floor stripe)
File:EOX_Page_10 (4).png|Other half of the room
File:EOX_Page_16 (4).png|Last appearance
File:EOX_Floor_6_Stairs.png|Blank version of the stairwell
</gallery>
}}
1c8609f97f788137ade2d56a654227ea40f13274
304
284
2023-08-08T04:34:55Z
Ian3080
8
fix security robot page link
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF8200
|name=Floor 6
|image=EOX_Floor_6.png
|quote=Hey, what the heck is 'Duck, Duck, Goose'?
|first_appearance=Page 8 2/3/22 <ref name="EOX_8">https://ecopportunityx.cfw.me/comics/8/</ref>
|introduction=The floor below [[Floor 7]] and above [[Floor 5]]. It contains [[Your Room]] and a stairwell leading upwards.
|summary=This is the first floor seen in the comic, since [[Kid]]'s room is attached to a side room of the floor's main hall. Past [[Dr.Zeller]]'s corpse is a hallway with [[Security Robot|Security Robots]] circling each other, as well as [[Daisy|one robot]] pinned under rubble coming from the floor above. This floor also marks the first appearance of a [[Fleshblob]] as the one blocking the stairwell leading down.
|trivia=* This floor is missing a painted number on the wall
|gallery=
<gallery>
File:EOX_Page_8 (3).png|First appearance
File:EOX_Floor_6_Zeller_Blank.png|Blank version of the hall outside your room
File:EOX_Page_9 (8).png|First proper appearance
File:EOX_Page_10 (1).png|The rubble from floor 7 (missing floor stripe)
File:EOX_Page_10 (4).png|Other half of the room
File:EOX_Page_16 (4).png|Last appearance
File:EOX_Floor_6_Stairs.png|Blank version of the stairwell
</gallery>
}}
3c8863d73dd61ef152c8fcde62352ed9307ecd53
File:EOX Page 17 (1).png
6
128
285
2023-08-08T03:12:31Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 18 (1).png
6
129
286
2023-08-08T03:12:34Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 18 (2).png
6
130
287
2023-08-08T03:12:35Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 29 (2).png
6
131
288
2023-08-08T03:12:37Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 52 (3).png
6
132
289
2023-08-08T03:12:39Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 7.png
6
133
290
2023-08-08T03:12:41Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 7
0
134
291
2023-08-08T03:15:34Z
Ian3080
8
Create the floor 7 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=00FFFF
|name=Floor 7
|image=EOX_Floor_7.png
|quote=For some reason, you feel like tossing a coin down the hallway. It sails through the air as expected. Weird, why did you wanna do that?
|first_appearance=Page 17 2/8/22 <ref name="EOX_17">https://ecopportunityx.cfw.me/comics/17</ref>
|introduction=The seventh floor of [[The Tower]] above [[Floor 6]] and below [[Floor 8]]. This floor contains the stairwell leading down, [[Zeller's Office]], and [[The Cafeteria]].
|summary=Immediately stepping out of the stairwell there is the first appearance of the [[Brian|Mysterious Figure]] into a strangely oriented room. Throwing the [[Coin]] across the room shows that the distortion doesn't affect the gravity of the room.
After leaving the room on page 29<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29</ref>, the hall makes another appearance as [[Kid]] and [[Ashley]] leave [[Zeller's Office]] on page 52<ref name="EOX_52">https://ecopportunityx.cfw.me/comics/52</ref>.
|trivia=* It's never mentioned what blocks the stairwell leading from floor 7 to floor 8
|gallery=
<gallery>
File:EOX_Page_17 (1).png|First appearance
File:EOX_Page_18 (1).png|Throwing the coin
File:EOX_Page_18 (2).png|Normal perspective
File:EOX_Page_29 (2).png|First last appearance
File:EOX_Page_52 (3).png|Last appearance of the floor
</gallery>
}}
90c9ce8f30996438ad07e385afac4c7fb74c78c7
File:EOX Page 48 (3).png
6
135
292
2023-08-08T04:01:16Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 49 (5).png
6
136
293
2023-08-08T04:01:18Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 64 (1).png
6
137
294
2023-08-08T04:01:20Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 29 (4).png
6
138
295
2023-08-08T04:01:21Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Floor 8.png
6
139
296
2023-08-08T04:01:25Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 36 (3).png
6
140
297
2023-08-08T04:01:27Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 36 (2).png
6
141
298
2023-08-08T04:01:30Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 36 (4).png
6
142
299
2023-08-08T04:01:32Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 8
0
143
300
2023-08-08T04:10:09Z
Ian3080
8
Create the floor 8 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF7D7D
|name=Floor 8
|image=EOX_Floor_8.png
|quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes.
|first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref>
|introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]].
|summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr.Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref>
This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref>
This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside).
|trivia=* The pink used as this floor's highlight color is #FF7D7 and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128.
* On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref>
|gallery=
<gallery>
File:EOX_Page_29 (4).png|First appearance
File:EOX_Page_36 (2).png|Outside
File:EOX_Page_36 (3).png|Gaining some perspective
File:EOX_Page_36 (4).png
File:EOX_Page_48 (3).png|Ashley's first impressions of the floor
File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall)
File:EOX_Page_64 (1).png|Final appearance
</gallery>
}}
381342790f4435c9c8d57cb6ebef3227a1d2e98e
301
300
2023-08-08T04:11:19Z
Ian3080
8
Fix broken link to Dr. Zeller page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF7D7D
|name=Floor 8
|image=EOX_Floor_8.png
|quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes.
|first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref>
|introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]].
|summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr. Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref>
This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref>
This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside).
|trivia=* The pink used as this floor's highlight color is #FF7D7 and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128.
* On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref>
|gallery=
<gallery>
File:EOX_Page_29 (4).png|First appearance
File:EOX_Page_36 (2).png|Outside
File:EOX_Page_36 (3).png|Gaining some perspective
File:EOX_Page_36 (4).png
File:EOX_Page_48 (3).png|Ashley's first impressions of the floor
File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall)
File:EOX_Page_64 (1).png|Final appearance
</gallery>
}}
0a111cedbde4b8b9c85a36950563feb0ed33dfe5
302
301
2023-08-08T04:26:20Z
Ian3080
8
fixed hex code in trivia
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF7D7D
|name=Floor 8
|image=EOX_Floor_8.png
|quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes.
|first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref>
|introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]].
|summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr. Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref>
This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref>
This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside).
|trivia=* The pink used as this floor's highlight color is #FF7D7D and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128.
* On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref>
|gallery=
<gallery>
File:EOX_Page_29 (4).png|First appearance
File:EOX_Page_36 (2).png|Outside
File:EOX_Page_36 (3).png|Gaining some perspective
File:EOX_Page_36 (4).png
File:EOX_Page_48 (3).png|Ashley's first impressions of the floor
File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall)
File:EOX_Page_64 (1).png|Final appearance
</gallery>
}}
368e4736926c6b03191fbe2028e738eba2f5898c
File:EOX Page 36 (4).png
6
142
306
299
2023-08-08T04:44:21Z
Ian3080
8
added image description
wikitext
text/x-wiki
Widest shot of the view outside [[The Tower]] from [[Floor 9]]
67c3688829205b77f11e905c14075ed35620926f
File:EOX Floor 9.png
6
144
307
2023-08-22T23:49:05Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 52 (5).png
6
145
308
2023-08-22T23:49:24Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Lab Exterior.png
6
146
309
2023-08-22T23:49:30Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Outside.png
6
147
310
2023-08-22T23:49:32Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 37 (5).png
6
148
311
2023-08-22T23:49:35Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 38 (1).png
6
149
312
2023-08-22T23:49:38Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 38 (3).png
6
150
313
2023-08-22T23:49:41Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 47 (2).png
6
151
314
2023-08-22T23:49:44Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 39 (5).png
6
152
315
2023-08-22T23:57:22Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 38 (6).png
6
153
316
2023-08-22T23:57:24Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 58 (4).png
6
154
317
2023-08-22T23:57:26Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 58 (5).png
6
155
318
2023-08-22T23:57:29Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 47 (6).png
6
156
319
2023-08-22T23:57:32Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 8
0
143
320
302
2023-08-23T00:06:09Z
Ian3080
8
Add minor trivia
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF7D7D
|name=Floor 8
|image=EOX_Floor_8.png
|quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes.
|first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref>
|introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]].
|summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr. Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref>
This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref>
This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside).
|trivia=* The pink used as this floor's highlight color is #FF7D7D and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128.
* On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref>
* Like the door leading into [[The Lab]], the door leading to the ball pit has paint that is disconnected from the stripes around it.
|gallery=
<gallery>
File:EOX_Page_29 (4).png|First appearance
File:EOX_Page_36 (2).png|Outside
File:EOX_Page_36 (3).png|Gaining some perspective
File:EOX_Page_36 (4).png
File:EOX_Page_48 (3).png|Ashley's first impressions of the floor
File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall)
File:EOX_Page_64 (1).png|Final appearance
</gallery>
}}
9934568f81b9a681a7e8bed1316fe8c3e1b0ce6c
Floor 9
0
157
321
2023-08-23T00:12:48Z
Ian3080
8
Create the floor 9 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=82007D
|name=Floor 9
|image=EOX_Floor_9.png
|quote=Purple this time, huh?
|first_appearance=Page 37 2/20/22<ref name="EOX_37">https://ecopportunityx.cfw.me/comics/37/</ref>
|introduction=The ninth floor of the tower, above [[Floor 8]] and below the final floor, [[Floor 10]], it contains three doors. One door leads [[Outside]], one leads to a staircase to floor 10, and the last door leads to [[The Lab]].
|summary= [[Kid]] first enters this room from the outside access, where the staircase is blocked off by a [[Fleshblob]], leading them to the lab. This is the floor where [[Ashley]] first appears, as well as [[The Armbeast]]. Oh, and the <i>Keep it Real!</i> [[poster]] is here too.
The room just outside the lab, where the Armbeast resides, is a large open space with a 3 story staircase leading up to the lab and Ashley.
|trivia=
* There are 16 stairs leading up to the lab from the purple floor, and 7 stairs leading to floor 10 from floor 9.<ref name="EITS_5">https://eyeinthesky.cfw.me/comics/5</ref>
* Like the door leading to the [[Ball Pit]], the door leading to the lab has paint that is disconnected from the stripes around it.
* Despite the fact there is a hole in the wall, when Kid brings [[The Elevator]] to this floor it is not visibly protruding out of the building in any way.
|gallery=
<gallery>
File:EOX_Page_37 (5).png| First appearance of floor 9
File:EOX_Page_38 (1).png| Keep it real.
File:EOX_Page_38 (3).png|View of outside from floor 9
File:EOX_Page_38 (6).png|View outside of lab (floor)
File:EOX_Page_39 (5).png|View outside of lab (door)
File:EOX_Page_47 (6).png|Last appearance of lab exterior (floor)
File:EOX_Page_52 (5).png|Stairs leading to floor 10
File:EOX_Page_58 (4).png|Last full view of floor 9
File:EOX_Page_58 (5).png|Last appearance of floor 9
File:EOX_Lab_Exterior.png|Full view of the outside of the lab
File:EOX_Outside.png|Clear view of floor 9 from the outside
</gallery>
}}
2dcb1cc9b001b51b645cfc7b9ee1c01a580a96bf
336
321
2023-08-29T23:57:21Z
Ian3080
8
Fix page links
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=82007D
|name=Floor 9
|image=EOX_Floor_9.png
|quote=Purple this time, huh?
|first_appearance=Page 37 2/20/22<ref name="EOX_37">https://ecopportunityx.cfw.me/comics/37/</ref>
|introduction=The ninth floor of [[The Tower]], above [[Floor 8]] and below the final floor, [[Floor 10]], it contains three doors. One door leads [[Outside]], one leads to a staircase to floor 10, and the last door leads to [[The Lab]].
|summary= [[Kid]] first enters this room from the outside access, where the staircase is blocked off by a [[Fleshblob]], leading them to the lab. This is the floor where [[Ashley]] first appears, as well as the [[Armbeast]]. Oh, and the <i>Keep it Real!</i> [[poster]] is here too.
The room just outside the lab, where the Armbeast resides, is a large open space with a 3 story staircase leading up to the lab and Ashley.
|trivia=
* There are 16 stairs leading up to the lab from the purple floor, and 7 stairs leading to floor 10 from floor 9.<ref name="EITS_5">https://eyeinthesky.cfw.me/comics/5</ref>
* Like the door leading to the [[Ball Pit]], the door leading to the lab has paint that is disconnected from the stripes around it.
* Despite the fact there is a hole in the wall, when Kid brings the [[Elevator]] to this floor it is not visibly protruding out of the building in any way.
|gallery=
<gallery>
File:EOX_Page_37 (5).png| First appearance of floor 9
File:EOX_Page_38 (1).png| Keep it real.
File:EOX_Page_38 (3).png|View of outside from floor 9
File:EOX_Page_38 (6).png|View outside of lab (floor)
File:EOX_Page_39 (5).png|View outside of lab (door)
File:EOX_Page_47 (6).png|Last appearance of lab exterior (floor)
File:EOX_Page_52 (5).png|Stairs leading to floor 10
File:EOX_Page_58 (4).png|Last full view of floor 9
File:EOX_Page_58 (5).png|Last appearance of floor 9
File:EOX_Lab_Exterior.png|Full view of the outside of the lab
File:EOX_Outside.png|Clear view of floor 9 from the outside
</gallery>
}}
c88fe3e37ea6f642ce68cbd3c1dad93ee383e3eb
File:EOX Floor 10.png
6
158
322
2023-08-29T23:07:57Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 52 (6).png
6
159
323
2023-08-29T23:07:59Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 53 (2).png
6
160
324
2023-08-29T23:08:02Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 53 (4).png
6
161
325
2023-08-29T23:08:04Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 57 (2).png
6
162
326
2023-08-29T23:08:05Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 93 (4).png
6
163
327
2023-08-29T23:11:49Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 95 (1).png
6
164
328
2023-08-29T23:11:51Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
Floor 10
0
165
329
2023-08-29T23:24:06Z
Ian3080
8
Create the floor 10 page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF0000
|name=Floor 10
|image=EOX_Floor_10.png
|quote=Looking at the opposite wall, you can’t help but notice how well the colors of the blood and the red paint blend together. Why, if it wasn’t for the texture difference (which you can see quite clearly), there’d be no way to distinguish the two materials! Good thing you can see the world as it is, and not in some strange, flattened manner in which you would (theoretically) only see basic colors and shapes.
|first_appearance=Page 52 3/6/22 <ref name="EOX_52">https://ecopportunityx.cfw.me/comics/52/</ref>
|introduction= The tenth floor of the tower, above [[Floor 9]] and below [[The Roof]], this floor contains a stairway leading down, [[Bass' Office]] and the [[Elevator]].
|summary= [[Kid]] comes to this floor only with [[Daisy]] despite just meeting [[Ashley]] due to a [[Fleshblob]] occupying the stairwell. There is a keypad on the wall that Kid and Daisy immediately mash buttons on, producing nothing but harsh beeps. After leaving Bass' office with [[Brian]], they use the keypad again to interact with them. They unlock the elevator (since the flesh blob grew to cover the stairwell) allowing Kid to access Floors [[Floor 5|5]] through 10 and the roof.
This floor is visited again on page 93, after given the task by [[HP]] to kill [[Stephen Bass|Bass]]. In accomplishing this, the floor is left with the door to Bass' office broken and with extra blood and brains left on the floor.
|trivia=
* There are bloody hand-prints on Bass' door and streaks leading away to a large splatter under a door implying someone was dragged away, but the door is an unlocked pull door and described as "surprisingly light".<ref name="EOX_53">https://ecopportunityx.cfw.me/comics/53/</ref>
* The flesh blob blocking the stairs and the flesh blob in the [[Janitor's Closet]] are the only depicted blobs that grow in size visually.
|gallery=
<gallery>
File:EOX_Page_52 (6).png | First appearance
File:EOX_Page_53 (2).png | 4th Wall
File:EOX_Page_53 (4).png | Appearance of Bass' office from the outside
File:EOX_Page_57 (2).png | Changed flesh blob over staircase
File:EOX_Page_93 (4).png | Before the floor is altered
File:EOX_Page_95 (1).png | Last appearance
</gallery>
}}
2553cc849236c9b15e596b72db6aba22cf53e3d5
337
329
2023-08-29T23:58:47Z
Ian3080
8
Fix page links
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF0000
|name=Floor 10
|image=EOX_Floor_10.png
|quote=Looking at the opposite wall, you can’t help but notice how well the colors of the blood and the red paint blend together. Why, if it wasn’t for the texture difference (which you can see quite clearly), there’d be no way to distinguish the two materials! Good thing you can see the world as it is, and not in some strange, flattened manner in which you would (theoretically) only see basic colors and shapes.
|first_appearance=Page 52 3/6/22 <ref name="EOX_52">https://ecopportunityx.cfw.me/comics/52/</ref>
|introduction= The tenth floor of the tower, above [[Floor 9]] and below [[The Roof]], this floor contains a stairway leading down, [[Bass' Office]] and the [[Elevator]].
|summary= [[Kid]] comes to this floor only with [[Daisy]] despite just meeting [[Ashley]] due to a [[Fleshblob]] occupying the stairwell. There is a keypad on the wall that Kid and Daisy immediately mash buttons on, producing nothing but harsh beeps. After leaving Bass' office with [[Brian]], they use the keypad again to interact with them. They unlock the elevator (since the flesh blob grew to cover the stairwell) allowing Kid to access Floors [[Floor 5|5]] through 10 and the roof.
This floor is visited again on page 93, after given the task by [[Higher Power (HP)|HP]] to kill [[Stephen Bass|Bass]]. In accomplishing this, the floor is left with the door to Bass' office broken and with extra blood and brains left on the floor.
|trivia=
* There are bloody hand-prints on Bass' door and streaks leading away to a large splatter under a door implying someone was dragged away, but the door is an unlocked pull door and described as "surprisingly light".<ref name="EOX_53">https://ecopportunityx.cfw.me/comics/53/</ref>
* The flesh blob blocking the stairs and the flesh blob in the [[Janitor's Closet]] are the only depicted blobs that grow in size visually.
|gallery=
<gallery>
File:EOX_Page_52 (6).png | First appearance
File:EOX_Page_53 (2).png | 4th Wall
File:EOX_Page_53 (4).png | Appearance of Bass' office from the outside
File:EOX_Page_57 (2).png | Changed flesh blob over staircase
File:EOX_Page_93 (4).png | Before the floor is altered
File:EOX_Page_95 (1).png | Last appearance
</gallery>
}}
f241d42e3eb7a92b51c4314510c90d5700864151
File:EOX Page 61 (6).png
6
166
330
2023-08-29T23:43:41Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 60 (2).png
6
167
331
2023-08-29T23:43:42Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 60 (3).png
6
168
332
2023-08-29T23:43:44Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 59 (4).png
6
169
333
2023-08-29T23:43:47Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Roof.png
6
170
334
2023-08-29T23:43:48Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
The Roof
0
171
335
2023-08-29T23:47:23Z
Ian3080
8
Create the roof page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=555555
|name=The Roof
|image=EOX_Roof.png
|quote=You ask them what they think of the outside. 'What I think? …I don’t like it out here. Air is smoggy, there’s no safety rails up here, the sky is always overcast, and… it’s weirdly still. No wind. So quiet, too. Not even in a peaceful way, it’s just unsettling. Guess that happens when you’re miles from civilization.'
|first_appearance=Page 59 3/13/22 <ref name="EOX_59">https://ecopportunityx.cfw.me/comics/59/</ref>
|introduction=This is the final floor of [[The Tower]], above [[Floor 10]] and accessible only via the [[Elevator]]. It contains no guard rails, only the elevator and a [[Strange Statue]].
|summary=[[Brian]] gets left in the elevator (out of fear of dropping them) as [[Kid]], [[Ashley]], and [[Daisy]] walk out. Kid places the [[Orb]] into the statue, revealing the [[Golden Dancing Figure]] inside. The view from the roof shows the [[Specks]] in the distance, as well as the rest of [[The Facility]].
|trivia=
* Ashley admits to never having been on the roof, so the strange statue may or may not have existed before the incident. <ref name="EOX_59"></ref>
|gallery=
<gallery>
File:EOX_Page_59 (4).png | First appearance
File:EOX_Page_60 (2).png | View of the facility
File:EOX_Page_60 (3).png | Other view
File:EOX_Page_61 (6).png | Last appearance
</gallery>
}}
80530e186adeddf92a870db255a1426dce72fb7b
Floor 5
0
118
338
275
2023-08-29T23:59:56Z
Ian3080
8
Fix page links and edit image captions
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=00FF00
|name=Floor 5
|image=EOX_Floor_5.png
|quote=That green is really bright…
|first_appearance=Page 64 3/18/22 <ref name="EOX_64">https://ecopportunityx.cfw.me/comics/64/</ref>
|introduction=The fifth floor of [[The Tower]], it contains the [[Scooping Room]], the [[Elevator]] and the stairwell leading both up to [[Floor 6]] and down to [[Floor 4]].
|summary=Upon entering the floor, which is only reachable through elevator due to a [[Fleshblob]] blocking the stairwell, the [[Brian|Mysterious Figure]] is seen. There is one giant fleshblob on the ceiling that unsettles [[Ashley]], as well as one occupying the large crack in the floor. The floor contains only one actual room.
|trivia=
* Many characters are introduced on the same floor as their highlight color, but [[The Facility's AI]] in [[Brian]]'s body has a previous appearance on the [[Floor 7|Cyan Floor]] despite their colors being green and pink respectively, as well as the [[Security Robot]] color being ordinarily green (excluding the damaged [[Daisy]], who was introduced on the [[Floor 6|Orange Floor]]).
*The room is not mentioned to be any darker despite the giant fleshblob covering all the ceiling lights.
|gallery=
<gallery>
File:EOX_Page_64 (4).png|First appearance
File:EOX_Page_65 (1).png|All the rooms
File:EOX_Page_69 (3).png|Last appearance
File:EOX_Floor_5_Stairs.png| Clear image of the stairwell
</gallery>
}}
e8da50f88b1bca7937d3a0b20aff3f98c900df30
Floor 6
0
127
339
304
2023-08-30T00:00:34Z
Ian3080
8
Fix broken link to Dr. Zeller page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FF8200
|name=Floor 6
|image=EOX_Floor_6.png
|quote=Hey, what the heck is 'Duck, Duck, Goose'?
|first_appearance=Page 8 2/3/22 <ref name="EOX_8">https://ecopportunityx.cfw.me/comics/8/</ref>
|introduction=The floor below [[Floor 7]] and above [[Floor 5]]. It contains [[Your Room]] and a stairwell leading upwards.
|summary=This is the first floor seen in the comic, since [[Kid]]'s room is attached to a side room of the floor's main hall. Past [[Dr. Zeller]]'s corpse is a hallway with [[Security Robot|Security Robots]] circling each other, as well as [[Daisy|one robot]] pinned under rubble coming from the floor above. This floor also marks the first appearance of a [[Fleshblob]] as the one blocking the stairwell leading down.
|trivia=* This floor is missing a painted number on the wall
|gallery=
<gallery>
File:EOX_Page_8 (3).png|First appearance
File:EOX_Floor_6_Zeller_Blank.png|Blank version of the hall outside your room
File:EOX_Page_9 (8).png|First proper appearance
File:EOX_Page_10 (1).png|The rubble from floor 7 (missing floor stripe)
File:EOX_Page_10 (4).png|Other half of the room
File:EOX_Page_16 (4).png|Last appearance
File:EOX_Floor_6_Stairs.png|Blank version of the stairwell
</gallery>
}}
5cb381d6fa9b0c426105e1bba354f24d6e4771db
Floor 1
0
96
340
253
2023-09-05T23:26:01Z
Ian3080
8
Fixed basement link and quotation marks in the floor quote
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It contains a single room.
|summary=Above it is the [[Floor 2|second floor]], and beneath is [[The Basement]]. The first floor is barebones: it consists of the [[Reception|receptionist's office]] which is attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
3bd9fe932877b33f74a6120883f923c7a4c60910
341
340
2023-09-05T23:35:49Z
Ian3080
8
Expanded summary section
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]].
|summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor.
Upon first attempts to exit, [[Kid]] disregards all [[Suggestions]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Gateway]].
This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
93236685cf02a43aae08f466a835a08b2bb1b8e9
342
341
2023-09-05T23:41:59Z
Ian3080
8
Fix gateway redirect
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]].
|summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor.
Upon first attempts to exit, [[Kid]] disregards all [[Suggestions]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]].
This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
8e52607208acf69e90ab1ff8519943f2fc8017f0
345
342
2023-09-05T23:46:08Z
Ian3080
8
Add some images
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]].
|summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor.
Upon first attempts to exit, [[Kid]] disregards all [[Suggestions]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]].
This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_82 (4).png | View of exit doors
File:EOX_Page_83 (2).png | Kid's first attempts to leave
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
6818808bb9016a400dd40e441de23dbc554c78b2
346
345
2023-09-06T00:30:57Z
Ian3080
8
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]].
|summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor.
Upon first attempts to exit, [[Kid]] disregards all [[Comments]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]].
This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]].
|trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_82 (4).png | View of exit doors
File:EOX_Page_83 (2).png | Kid's first attempts to leave
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
a2c0bc9de63c2ac9b2a0b2c40b7fce55a1145e62
347
346
2023-09-06T00:32:37Z
Ian3080
8
fix trivia format
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=000000
|quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors.
You can just walk out. And leave.
|first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref>
|introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]].
|summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor.
Upon first attempts to exit, [[Kid]] disregards all [[Comments]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]].
This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]].
|trivia=
* The first floor is the one at street level, and not the first floor above ground as the terminology is used in the British Isles.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref>
|image=EOX_Floor_1.png
|gallery=
<gallery>
File:EOX_Page_82.png|First appearance
File:EOX_Page_82 (4).png | View of exit doors
File:EOX_Page_83 (2).png | Kid's first attempts to leave
File:EOX_Page_88.png|Connection from elevator to basement
File:EOX_Page_98.png|Last appearance
</gallery>
|name=Floor 1}}
9ff53f1167b1b8381cc6d3965b5815868af8fc9e
File:EOX Page 82 (4).png
6
172
343
2023-09-05T23:45:16Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
File:EOX Page 83 (2).png
6
173
344
2023-09-05T23:45:19Z
Ian3080
8
File uploaded with MsUpload
wikitext
text/x-wiki
File uploaded with MsUpload
a655f04485ff507c02499d137d22a0d3e0ea32c2
The Basement
0
174
348
2023-09-06T01:12:05Z
Ian3080
8
Create the basement page
wikitext
text/x-wiki
{{Infobox/Location page
|highlight_color=FFFFFF
|name=The Basement
|image=[[EOX_Basement.png]]
|quote=Kid, you sonofabitch! you were the basement the whole time!!
|first_appearance=Page 87 4/10/22<ref name="EOX_87">https://ecopportunityx.cfw.me/comics/87/</ref>
|introduction= The basement is the lowest floor of [[The Tower]], below [[Floor 1]]. It consists of 3 rooms that lead into each other: the stairwell down from the [[Elevator]] that leads to a large hallway full of water and [[Fleshblob]]s, an open expanse connected to the huge door, and the large basement lab.
|summary= From floor 5, the elevator ride down is described as being very long. When met with the stairwell, [[Brian]] requests assistance from [[Ashley]] and [[Chantal]]. When kid reaches the floor, discovering the haze they saw was water that reaches their waist, they give [[Daisy]] a ride on their head while Ashley and Chantal comment on having wet socks.
Wading through the water, Kid mentions that they perceive a descent, despite the water level never rising. As fleshblobs gradually narrow the space, the party reaches a clearing that leads up to a large door.<ref name="EOX_87"></ref>
[TO BE EXPANDED]
|trivia=
* The paint connecting floor 1 to the basement as the cast exits the elevator is disconnected from its surroundings. Similar occurrences are seen with the door to the [[Ball Pit]] and [[The Lab]].
* It's not mentioned where the water drains off to between the large hallway and the door room.
* The colors corresponding to the rooms on the large door puzzle were incorrect until [TBA]
*
|gallery=
gallery
}}
6075d17db4112711418ebca529ddf4079cee15d6
Floor 2
0
100
349
305
2023-10-07T03:47:33Z
Werewire
2
made trivia a proper list
wikitext
text/x-wiki
{{Infobox/Location page
|name=Floor 2
|quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!”
|first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref>
|introduction=Floor 2 is the first floor above ground level in [[the Tower]].
|summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Electric Tape|Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed).
[[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors.
|trivia=* The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.<ref name="EOX_80"/>
|highlight_color=FF00FF
|image=EOX_Floor_2.png
|gallery=
<gallery>
EOX_Page_80.png|First appearance of floor 2
EOX_page_81.png|Placing the tape bow on the fleshblob
EOX_Page_81 (6).png|The stairwell leading down to floor 1
EOX_Page_82 (2).png|Holding hands as they descend
</gallery>
}}
09e638a31bc78ff018eb4310155e9beb632ff743
Main Page
0
1
350
303
2023-10-26T07:53:42Z
Werewire
2
comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 24th October 2023, 11:14 PM
[https://ecopportunityx.cfw.me Page 146]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedPages|Wanted Pages]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
78979e3a01d7cef2b2d10553cc7dd7baf9eeec9e
351
350
2023-10-31T04:56:22Z
Werewire
2
/* Welcome to {{SITENAME}}! */ comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 31st October 2023, 12:09 AM
[https://ecopportunityx.cfw.me Page 149]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedPages|Wanted Pages]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
44e03ed51ac452b758333badcc6b392afef40e0e
352
351
2023-11-18T23:39:45Z
Werewire
2
/* Welcome to {{SITENAME}}! */ comic update
wikitext
text/x-wiki
__NOTOC__
== Welcome to {{SITENAME}}! ==
This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident.
'''Latest Update:''' 18th Nov 2023, 3:43 PM
[https://ecopportunityx.cfw.me Page 153]
== For visitors of this wiki: ==
This wiki will contain helpful information about the characters and setting of EOX.
Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]]
Things that are planned to be included is:
* Basic Plot summaries
* Personality
* Relationships
* <s>Highlight colors</s>
* Images from the comics
* <s>All the cast images</s> minus a possible few from brian this is complete
'''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''.
==== I have a problem with/suggestion for the wiki! ====
If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact:
* [[User:Werewire|Me]]
* Any future "mods"
=== Wiki Page Links ===
* [[:Category:Characters|Characters]]
* [[:Category:Locations|Locations]]
* [[:Category:Items|Items]]
* [[Special:ListFiles|Uploaded Images]]
* [[Special:Categories|Categories]]
* [[Special:RecentChanges|Recent Changes]]
* [[Special:WantedPages|Wanted Pages]]
* [[Special:ShortPages|Short Pages]]
=== Additional Links ===
* [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom
* [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts
627326f3cc2091bd8a54d6ce45d37e66a12a5976